JSON解析c#获取特定数据
本文关键字:数据 获取 解析 JSON | 更新日期: 2023-09-27 18:11:34
下面是需要正确解析的JSON:
https://docs.acrcloud.com/metadata我正在试着找到:
歌名,专辑的名字,艺术家。
我试过了:
JObject o = JObject.Parse(result);
Console.WriteLine("Name: " + o["metadata"]["music"]);
,它的工作,但我得到所有的数据在"音乐",我只需要提取特定的数据
您可以使用SelectTokens
和SelectToken
用于此目的。它们都支持JsonPATH查询语法,包括通配符:
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();
然后 Console.WriteLine(JsonConvert.SerializeObject(musicInfo, Formatting.Indented));
打印
{ "SongTitle": "Listen (From the Motion Picture '"Dreamgirls'")", "AlbumName": "B'Day Deluxe Edition", "Artists": [ "Beyoncé" ] }