C# 将字段添加到JSON数组中
我得到了一个JSON字符串,数组如下:C# 将字段添加到JSON数组中,c#,arrays,json,json.net,C#,Arrays,Json,Json.net,我得到了一个JSON字符串,数组如下: { "Id": 123, "Username": "Sr. X", "Packages": [ { "Name": "Cups", "SupplierId": 1, "ProviderGroupId": 575, "SupplierName": "Foo Cups" }, { "Name": "Pins", "SupplierId": 5,
{
"Id": 123,
"Username": "Sr. X",
"Packages": [
{
"Name": "Cups",
"SupplierId": 1,
"ProviderGroupId": 575,
"SupplierName": "Foo Cups"
},
{
"Name": "Pins",
"SupplierId": 5,
"ProviderGroupId": 1082,
"SupplierName": "Foo Pins"
}
]
}
我想在Packages数组中添加一个新字段,如:
"Packages": [
{
"Name": "Cups",
"SupplierId": 1,
"ProviderGroupId": 575,
"SupplierName": "Foo Cups",
"New Field": "Value"
},...
现在我可以添加一个新字段,但在主对象中,我使用Json.NET库来完成这项工作,但文档似乎没有达到那个级别
你们中有人做过吗?试试看
JObject root = (JObject) JsonConvert.DeserializeObject(File.ReadAllText("products.json"));
JArray packages = (JArray) root["Packages"];
JObject newItem = new JObject();
newItem["Name"] = "Cups";
// ...
packages.Add(newItem);
Console.WriteLine(root); // Prints new json
JObject实现了IDictionary
var jObj = JObject.Parse(json);
foreach(var item in jObj["Packages"])
{
item["New Field"] = "Value";
}
var newjson = jObj.ToString(Newtonsoft.Json.Formatting.Indented);
你不能用
JsonConvert.SerializeObject()再次序列化“主对象”吗代码>将新对象添加到集合后?您到底想做什么?Json.NET文档非常清楚如何…我收到一个带有Json结构的字符串(第一个片段),但我想要的是添加一个新字段和值,然后将其解析为xml,但我所做的部分已经为您的答案L.B.提供了很好的支持。Is以前没有使用过JSON,我认为是时候了,所以我开始练习了,现在我知道了多一点。谢谢你的回答,但是LB方法对我有效。干杯