【发布时间】:2019-06-27 02:06:22
【问题描述】:
当我写这段代码时:
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 中,结构如下所示。
谢谢
【问题讨论】: