{
"Main":
{
"subfolder" :
{
"photos" :
{
"January" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"February" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"March" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"April" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"May" :
{
"name" : "Detail of photo",
"date": "id of photo"
}
},
"photos_of_camera" :
{
"January" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"February" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"March" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"April" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"May" :
{
"name" : "Detail of photo",
"date": "id of photo"
}
}
},
"subfolder_1" :
{
"photos" :
{
"January" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"February" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"March" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"April" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"May" :
{
"name" : "Detail of photo",
"date": "id of photo"
}
},
"photos_of_camera" :
{
"January" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"February" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"March" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"April" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"May" :
{
"name" : "Detail of photo",
"date": "id of photo"
}
}
}
},
"Root":
{
"subfolder" :
{
"photos" :
{
"January" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"February" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"March" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"April" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"May" :
{
"name" : "Detail of photo",
"date": "id of photo"
}
},
"photos_of_camera" :
{
"January" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"February" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"March" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"April" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"May" :
{
"name" : "Detail of photo",
"date": "id of photo"
}
}
},
"subfolder_1" :
{
"photos" :
{
"January" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"February" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"March" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"April" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"May" :
{
"name" : "Detail of photo",
"date": "id of photo"
}
},
"photos_of_camera" :
{
"January" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"February" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"March" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"April" :
{
"name" : "Detail of photo",
"date": "id of photo",
"location": "location detail"
},
"May" :
{
"name" : "Detail of photo",
"date": "id of photo"
}
}
}
}
}
我有这样的数据。我想检索所有属性,如果有的话,它是值。我只能使用这样的代码使用Newtonsoft.json包检索第一个孩子
string a = File.ReadAllText(@"json file path");
List<string> read(string file)
{
JObject jObject = JObject.Parse(file);
foreach(JProperty i in jObject.Properties())
{
var name = i.Name;
Console.WriteLine(bb);
}
var child = jObject.First.First;
if(!st.HasValues)
{
Console.WriteLine(child.ToString());
return null;
}
string cnr = Convert.ToString(child);
return recursion(cnr);
}
recursion(a);
但这只给我第一个孩子的数据
主要
根
子文件夹
subfolder_1
相片
photos_of_camera
一月
二月
游行
四月
可能
名称
日期
位置
照片细节
但是我想要所有属性,它很有价值,所以有人可以帮助我吗?
如果仅出于显示所有属性及其值的目的,则可以考虑使用以下递归方法,因此它可以作为您的起点。
string a = File.ReadAllText(@"json file path");
getPropertiesAndValues(a);
private static void getPropertiesAndValues(string json)
{
JObject jObject = JObject.Parse(json);
foreach (JProperty i in jObject.Properties())
{
var name = i.Name;
var value = i.Value;
Console.Write($"Name: {name} \t\t");
if (!i.Value.HasValues)
Console.WriteLine($"Value: {i.Value}");
Console.WriteLine();
if (i.HasValues && i.Value.HasValues)
getPropertiesAndValues(i.First.ToString());
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句