如何将 Jobject 添加到 Jproperty 的 Jarray 中?
How to append Jobject to the Jarray of Jproperty?
我正在创建新的作业对象,
var testresult = new JObject(new JProperty("Name", "John"),
new JProperty("Nums", new JArray()));
结果是:
{
"Name": "John",
"Nums": []
}
我正在尝试在 Jproperty“Nums”的 JArray 中添加另一个 JObject。
{
"Name": "John",
"Nums": [{"tl1": "tr1"}, {"tl2": "tr2"}]
}
我试过 testresult.Property.Add AddAfterSelf 风格,但我认为我的主要问题是我无法访问 JProperty“Nums”的右侧。我可以尝试或寻找什么?
JArray
有一个 Add
方法。您可以像这样访问 JArray
:
JArray myArray = (JArray)testresult["Nums"];
myArray.Add(new JObject(new JProperty("tl1", "tr1")));
我假设对象应该是 {"tl1":"tr1"}
,因为 {"tl1", "tr1"}
不是有效的 JSON 对象。
您可以初始化 JArray
或使用 Add
:
JArray arr = new JArray()
{
new JObject()
{
new JProperty("tl1", "tr1")
}
};
arr.Add(new JObject()
{
new JProperty("tl2", "tr2")
});
JObject obj = new JObject()
{
new JProperty("Name", "John"),
new JProperty("Nums", arr)
};
Console.WriteLine(obj);
产生:
{
"Name": "John",
"Nums": [
{
"tl1": "tr1"
},
{
"tl2": "tr2"
}
]
}
您可以在一行中创建所有内容
var testresult = new JObject(new JProperty("Name", "John"), new JProperty("Nums", new JArray(
new JObject(new JProperty("tl1", "tr1") ),new JObject(new JProperty("tl2", "tr2") ))));
或者如果你以后想添加新项目,你也可以在一行中完成
testresult["Nums"]=new JArray(new JObject(new JProperty("tl1", "tr1") ),
new JObject(new JProperty("tl2", "tr2")));
或者,如果您想将新项目的数组添加到现有数组中,您可以使用 Merge
((JArray) testresult["Nums"]).Merge(new JArray(new JObject(new JProperty("tl1", "tr1")), new JObject(new JProperty("tl2", "tr2"))));
如果要向数组中再添加一项,则添加
((JArray) testresult["Nums"]).Add( new JObject(new JProperty("tl1", "tr1")));
结果
{
"Name": "John",
"Nums": [
{
"tl1": "tr1"
},
{
"tl2": "tr2"
}
]
}
我正在创建新的作业对象,
var testresult = new JObject(new JProperty("Name", "John"),
new JProperty("Nums", new JArray()));
结果是:
{
"Name": "John",
"Nums": []
}
我正在尝试在 Jproperty“Nums”的 JArray 中添加另一个 JObject。
{
"Name": "John",
"Nums": [{"tl1": "tr1"}, {"tl2": "tr2"}]
}
我试过 testresult.Property.Add AddAfterSelf 风格,但我认为我的主要问题是我无法访问 JProperty“Nums”的右侧。我可以尝试或寻找什么?
JArray
有一个 Add
方法。您可以像这样访问 JArray
:
JArray myArray = (JArray)testresult["Nums"];
myArray.Add(new JObject(new JProperty("tl1", "tr1")));
我假设对象应该是 {"tl1":"tr1"}
,因为 {"tl1", "tr1"}
不是有效的 JSON 对象。
您可以初始化 JArray
或使用 Add
:
JArray arr = new JArray()
{
new JObject()
{
new JProperty("tl1", "tr1")
}
};
arr.Add(new JObject()
{
new JProperty("tl2", "tr2")
});
JObject obj = new JObject()
{
new JProperty("Name", "John"),
new JProperty("Nums", arr)
};
Console.WriteLine(obj);
产生:
{
"Name": "John",
"Nums": [
{
"tl1": "tr1"
},
{
"tl2": "tr2"
}
]
}
您可以在一行中创建所有内容
var testresult = new JObject(new JProperty("Name", "John"), new JProperty("Nums", new JArray(
new JObject(new JProperty("tl1", "tr1") ),new JObject(new JProperty("tl2", "tr2") ))));
或者如果你以后想添加新项目,你也可以在一行中完成
testresult["Nums"]=new JArray(new JObject(new JProperty("tl1", "tr1") ),
new JObject(new JProperty("tl2", "tr2")));
或者,如果您想将新项目的数组添加到现有数组中,您可以使用 Merge
((JArray) testresult["Nums"]).Merge(new JArray(new JObject(new JProperty("tl1", "tr1")), new JObject(new JProperty("tl2", "tr2"))));
如果要向数组中再添加一项,则添加
((JArray) testresult["Nums"]).Add( new JObject(new JProperty("tl1", "tr1")));
结果
{
"Name": "John",
"Nums": [
{
"tl1": "tr1"
},
{
"tl2": "tr2"
}
]
}