gpt4 book ai didi

c# - Linq查询到Json字符串

转载 作者:太空宇宙 更新时间:2023-11-03 15:06:25 25 4
gpt4 key购买 nike

从 JObject 开始,我可以获得我感兴趣的数组:

JArray partial = (JArray)rssAlbumMetadata["tracks"]["items"];

第一个问题:“部分”包含很多我不感兴趣的属性。我怎样才能只得到我需要的东西?

第二个问题:第一个任务成功后,我将获得一个包含重复项的 JArray。我怎样才能得到唯一的?结果应该是这样的

{
'composer': [
{
'id': '51523',
'name': 'Modest Mussorgsky'
},
{
'id': '228918',
'name': 'Sergey Prokofiev'
},
]
}

让我从这样的事情开始:

[
{
"id": 32837732,
"composer": {
"id": 245,
"name": "George Gershwin"
},
"title": "Of Thee I Sing: Overture (radio version)"
},
{
"id": 32837735,
"composer": {
"id": 245,
"name": "George Gershwin"
},
"title": "Concerto in F : I. Allegro"
},
{
"id": 32837739,
"composer": {
"id": 245,
"name": "George Gershwin"
},
"title": "Concerto in F : II. Adagio"
}
]

最佳答案

第一个问题:

How can I get only what I need?

没有魔法,您需要读取整个 JSON 字符串,然后查询对象才能找到您要查找的内容。如果您需要,则无法读取 JSON 的一部分。您没有提供数据的示例,因此无法指定查询方式。

我猜的第二个问题是:如何去重对象数组的内容?

同样,我没有您的对象的完整 View ,但这个示例应该能够向您展示 - 按照您的要求使用 Linq:

var items = new []{new {id=1, name="ali"}, new {id=2, name="ostad"}, new {id=1, name="ali"}};
var dedup = items.GroupBy(x=> x.id).Select(y => y.First()).ToList();
Console.WriteLine(dedup);

关于c# - Linq查询到Json字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43311256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com