JSON解析C#获取特定数据
以下是需要正确解析的JSON: 我正试图获得以下信息: 歌名,, 专辑名, 艺术家 我试着这样做:JSON解析C#获取特定数据,c#,json,C#,Json,以下是需要正确解析的JSON: 我正试图获得以下信息: 歌名,, 专辑名, 艺术家 我试着这样做: JObject o = JObject.Parse(result); Console.WriteLine("Name: " + o["metadata"]["music"]); 它可以工作,但我正在获取“音乐”中的所有数据,我只需要提取特定的数据。您可以用于此目的。它们都支持包含通配符: var o = JToken.Parse(result);
JObject o = JObject.Parse(result);
Console.WriteLine("Name: " + o["metadata"]["music"]);
它可以工作,但我正在获取“音乐”中的所有数据,我只需要提取特定的数据。您可以用于此目的。它们都支持包含通配符:
var o = JToken.Parse(result);
var musicInfo = o.SelectTokens("metadata.music[0]")
.Select(t => new
{
SongTitle = (string)t.SelectToken("title"),
AlbumName = (string)t.SelectToken("album.name"),
Artists = t.SelectTokens("artists[*].name").Select(n => (string)n).ToArray()
})
.FirstOrDefault();
然后
印刷品
这正是您想要的。然后取而代之的是您的“特定数据”!我不知道@cubrr如何检查JSON它有点复杂,你已经从“元数据”中得到了“音乐”。现在重复从“音乐”中获取“标题”的过程。看起来该对象位于数组中,因此
o[“metadata”][“music”][0]
将使您能够访问实际对象。
Console.WriteLine(JsonConvert.SerializeObject(musicInfo, Formatting.Indented));
{
"SongTitle": "Listen (From the Motion Picture \"Dreamgirls\")",
"AlbumName": "B'Day Deluxe Edition",
"Artists": [
"Beyoncé"
]
}