Json中値繰返しの判定回数
1514 ワード
///
/// json id
///
/// json
private static void InitJson(string JsonString)
{
JArray objJArray = JsonConvert.DeserializeObject(JsonString);
List strList = new List();
foreach (JToken item in objJArray.ToList())
{
GetChildId(strList, item);
}
string sbstr = "";
foreach (var item in strList.GroupBy(x => x).Where(x => x.Count() > 1))
{
sbstr += ",id " + item.Key + " " + item.Count() + " ";
}
}
private static void GetChildId(List strList, JToken item)
{
if (item.Type == JTokenType.Array)
{
foreach (JToken itemToken in item.ToList())
{
GetChildId(strList, itemToken);
}
}
else
{
foreach (JProperty tt in item)
{
if (tt.Name.ToLower() == "id")
strList.Add(tt.Value + "");
if (tt.Name.ToLower() == "children")
{
GetChildId(strList, tt.Value);
}
}
}
}