![](/img/trans.png)
[英]Cannot cast Newtonsoft.Json.Linq.JArray to Newtonsoft.Json.Linq.JToken. Error getting when I pass the json
[英]Unable to retrieve a value from JSON, getting 'Cannot cast Newtonsoft.Json.Linq.JArray to Newtonsoft.Json.Linq.JToken.' exception
我有以下JSON示例
"object_properties":{
"has_related":[
{
"id":"id1",
"label":"label1"
},
{
"id":"id2",
"label":"label2"
},
{
"id":"id3",
"label":"label3"
}
],
"member_of":[
{
"id":"id4",
"label":"label4"
}
],
"is_top_concept_in_scheme":[
{
"id":"id5",
"label":"label5"
}
],
"has_broader":[
{
"id":"id6",
"label":"label6"
}
]
}
我正在嘗試使用以下代碼從'member_of'屬性獲取ID和標簽
var objectPropertiesParent = parent["object_properties"];
if (objectPropertiesParent != null)
{
MemberOfConceptObjectId = string.Empty;
MemberOfConceptObjectLabel = string.Empty;
var MemberOfConceptObject = objectPropertiesParent.Value<Array>("member_of");
if (MemberOfConceptObject != null)
{
MemberOfConceptObjectId = token.Value<JArray>("object_properties").Values<JArray>("member_of").FirstOrDefault().Values<string>("id").FirstOrDefault();
MemberOfConceptObjectLabel = token.Value<JArray>("object_properties").Values<JArray>("member_of").FirstOrDefault().Values<string>("label").FirstOrDefault();
}
}
但是,我得到了“無法將Newtonsoft.Json.Linq.JArray轉換為Newtonsoft.Json.Linq.JToken。” 在哪里嘗試設置MemberOfConceptObject變量(var MemberOfConceptObject = objectPropertiesParent.Value(“ member_of”);行)
當我使用以下代碼行時
MemberOfConceptObjectId = token.Values<JToken>("object_properties").Values<string>("member_of").FirstOrDefault();
我收到以下異常:“無法訪問Newtonsoft.Json.Linq.JProperty上的子值。”
請讓我知道如何正確,干凈地檢索member_of屬性的ID和標簽
非常感謝您的協助
這對我有用
var MemberOfConceptObject = parent["object_properties"]["member_of"];
if (MemberOfConceptObject != null)
{
MemberOfConceptObjectId = MemberOfConceptObject[0]["id"].ToString();
MemberOfConceptObjectLabel = MemberOfConceptObject[0]["label"].ToString();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.