繁体   English   中英

将属性添加到 JSON C# 中的每个 object

[英]Add property to each object in JSON C#

我有一个看起来像这样的 JSON 主体(对象数组):

[
    {
        "registered": "2016-02-03T07:55:29",
        "color": "red",
    },
    {
        "registered": "2016-02-03T17:04:03",
        "color": "blue",
    }
]

这个主体包含在我基于 HTTP 请求创建的变量(requestBody)中,它被称为 req:

string requestBody = await new StreamReader(req.Body).ReadToEndAsync();

我想要做的是为我的 JSON 数组中的每个对象添加一个唯一标识符。 我怎么能 go 实现这一目标?

目前我正在反序列化 JSON,向其中添加一些字符串(x),然后再次对其进行序列化:

dynamic d = JsonConvert.DeserializeObject(requestBody);
d.uniqueId = "x";
string newBody = JsonConvert.SerializeObject(d);

我要为我的 JSON 对象数组中的每个对象添加一个 uniqueId。 我怎么能做到这一点?

您可以使用从JArray到 JSON API 的 JArray来解析、迭代JObject类型的子对象并修改它们:

var json = ...; // your json string
var jArray = JArray.Parse(json);
foreach (var jObject in jArray.Children<JObject>())
{
    jObject.Add("id", new JValue("x"));
}
var modified = JsonConvert.SerializeObject(jArray);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM