我正在創建新的Jobject,
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”的右側。我可以嘗試或尋找什么?
uj5u.com熱心網友回復:
JArray有Add方法。您可以JArray像這樣訪問:
JArray myArray = (JArray)testresult["Nums"];
myArray.Add(new JObject(new JProperty("tl1", "tr1")));
我假設該物件應該是,{"tl1":"tr1"}因為{"tl1", "tr1"}它不是有效的 JSON 物件。
網上試試
uj5u.com熱心網友回復:
您可以初始化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"
}
]
}
uj5u.com熱心網友回復:
您可以在一行中創建所有內容
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"))));
或 Add 如果您想再向陣列添加一項
((JArray) testresult["Nums"]).Add( new JObject(new JProperty("tl1", "tr1")));
結果
{
"Name": "John",
"Nums": [
{
"tl1": "tr1"
},
{
"tl2": "tr2"
}
]
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/396160.html
標籤:C# json asp.net-web-api 链接到 sql json.net
下一篇:多個DTO手動初始化
