我想通过一个维基数据JSON对象进行迭代,并获得了成功。我解析如下:http://www.wikidata.org/wiki/Special:EntityData/Q319.json如何迭代Wikidata JSON对象?
我与代码中将通过诸如下列:
dynamic a = JsonConvert.DeserializeObject<dynamic>(wikidata_pageContents);
foreach (dynamic entity in a.entities) {
foreach (dynamic topLevelStructure in entity.Value) {
...
这工作,直到我得到类似下面的“声明”。
{
"mainsnak": {
"snaktype": "value",
"property": "P1036",
"datavalue": {
"value": "523.45",
"type": "string"
},
"datatype": "string"
},
"type": "statement",
"id": "Q319$5525e016-4210-bb2c-ce03-bd2dd52cca6c",
"rank": "normal"
}
我在claim.Value中使用了以下内容,但field_name为null。
foreach (dynamic claimField in claim.Value)
{
string field_name = claimField.Name;
如何动态地遍历上述对象中的值?如果可能,我宁愿迭代而不尝试建立对象结构和反序列化。