如何在不定义C#中的模型类的情况下向现有json添加新属性

本文关键字:json 添加 新属性 属性 情况下 定义 模型 | 更新日期: 2023-09-27 17:59:41

{
    "version": "15.1",
    "count": 8,
    "data": [
        {
            "furit_items": [
                {
                    "price": 12.6,
                    "base_price": 6.59,
                    "text": "banana",
                    "product_id": "1234",
                    "product_name": "banana",
                    "quantity": 1
                }
            ],
            "product_sub_total": 12.6,
            "product_total": 12.6,
            "shipments": []
        }
    ]
}

这是我通过服务获取的json数据。

是否可以在"furit_items"对象下添加一个新属性{"quality":"good"}?

如何在不定义C#中的模型类的情况下向现有json添加新属性

试试这个:

dynamic original = JsonConvert.DeserializeObject(json, typeof(object));
original.data[0].furit_items[0].quality = good;
var modifiedJson = JsonConvert.SerializeObject(original , Formatting.Indented);

为什么不想定义模型类?我完全推荐它,因为无论你做什么都会变得更安全、更容易。http://json2csharp.com/只需为您生成模型即可。

如果您不想使用该模型,至少可以使用json.net-jobject。

您可以使用Json.Net的Linq到Json作为

JObject obj = JObject.Parse(jsontext);
obj["new_prop"] = "value";//new property as per hirarchy ,same for replacing values
string newjson=obj.ToString();

你可以这样尝试,使用javascript代码很容易。

data.furit_items.field={"质量":"良好"}