嘿,我有以下json字符串:
{
"status":{
"msg":"Success",
"code":0,
"version":"1.0"
},
"metadata":{
"music":[
{
"external_ids":{ },
"label":"Atlantic Records",
"release_date":"2010-09-13",
"album":{
"name":"Passion, Pain & Pleasure"
},
"title":"Bottoms Up",
"duration_ms":"242013",
"genres":[
{
"name":"R&B\\Soul\\Funk"
}
],
"acrid":"63b14329c3beafe35cf08b144a2b4a31",
"result_from":3,
"artists":[
{
"name":"Trey Songz"
}
]
}
],
"timestamp_utc":"2016-08-18 13:56:40"
},
"result_type":3
}
我正在尝试获取以下属性:
label
album > name
title
duration_ms
genres > name
artists > name
我拥有的C#代码是:
dynamic data = Newtonsoft.Json.JsonConvert.DeserializeObject<mReconize.musicJsonReturn.RootObject>(json);
Console.WriteLine(data["metadata"]["music"].label);
当然数据[“元数据”] [“音乐”]。标签导致错误,但我不确定为什么?
附加信息:无法将带有[]的索引应用于类型为“mR.musicJsonReturn.RootObject”的表达式
答案 0 :(得分:3)
尝试:
Console.WriteLine(data.metadata.music[0].label);
您不使用数组而是使用对象。
永远不要使用动态。