【发布时间】:2014-03-27 17:46:15
【问题描述】:
我一直在尝试在满足条件时将元素添加到 JArrays JToken 中。我想要实现的是如下所示。但是,在下面, add 语句不会编译,但会传达我需要尝试和做的事情。有人知道怎么做吗?
string json = @"[
{""1"":""One"",""2"":""AddThree""},
{""1"":""One"",""2"":""Two""},
{""1"":""One"",""2"":""AddThree""}
]";
JArray rows = JArray.Parse(json);
int length = rows.Count;
for (int i = 0; i < length; i++)
{
string s = rows[i]["2"].ToString();
if (s == "AddThree")
{
//This functionality doesnt exist
rows[i].Children().ADD(@"""3"":""Three""");
}
}
Console.WriteLine(rows.ToString());
Console.ReadKey();
【问题讨论】:
-
在寒冷的早晨看着这个......我只记得JSON会在设置它时创建一个元素: var row = rows[i];行["3"] = "三";在“if”语句中完成了这项工作,奇怪的行为,但它对我来说已经足够好了。
-
有趣.. 你的意思是说
row["3"] = "Three"将 Json 字符串添加到 Jarray 行吗?我认为解决方案将使用JArray.Add -
直到明天我才能将其标记为答案,但我已经在下面添加了解决方案,是的,
row["3"] = "Three"将"3": "Three"添加到当前 jarray 项中包含的令牌中 -
感谢您的更新。
标签: c# .net json linq json.net