gpt4 book ai didi

c# - 动态添加到 JArray 会产生重复数据

转载 作者:太空宇宙 更新时间:2023-11-03 12:01:37 26 4
gpt4 key购买 nike

当我写这段代码时:

   string[] title= {"title1","title2","title3","title4"};
int[] iid= {124,122,333,234};

dynamic bucket = new JObject();
bucket.bucket = "Parking Lot";
bucket.roadmap = new JArray();

dynamic issue = new JObject();
dynamic json2 = new JArray(bucket);

for(int i=0; i<title.Length; i++) {
issue.title = title[i];
issue.iid = iid[i];
issue.order = i;
bucket.roadmap.Add(issue);
}

Console.WriteLine(json2.ToString());

我的结果是:

   [
{
"bucket": "Parking Lot",
"roadmap": [
{
"title": "title4",
"iid": 234,
"order": 3
},
{
"title": "title2",
"iid": 122,
"order": 1
},
{
"title": "title3",
"iid": 333,
"order": 2
},
{
"title": "title4",
"iid": 234,
"order": 3
}
]
}
]

第一个和最后一个“路线图”JObjects 被重复了。有一种方法可以动态生成具有我想要传递的唯一值的 JSON 吗?

我也尝试过非动态地进行。

    JArray bucket = new JObject();
bucket.Add("bucket","Parking Lot");
bucket.Add("order", new JArray());

JObject issue = new JObject();
...

但我找不到选择“bucket.order.Add”来向该 JArray 添加问题的方法。

最后,我只是试图循环遍历带有一堆数据的 JArray,我想将它与它们的存储桶类型分开,提取每个问题值并将其存储在一个新的 JSON 中,结构如下所示。

谢谢

最佳答案

在添加到数组之前创建一个新的问题对象。

   for(int i=0; i<5; i++) {
issue = new JObject();
issue.title = "Elbow\"";
issue.iid = 123;
issue.order = i;
bucket.roadmap.Add(issue);
}

关于c# - 动态添加到 JArray 会产生重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56777945/

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