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

时间:2015-06-25 06:26:12

标签: c# asp.net json

{
    "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”}?

4 个答案:

答案 0 :(得分:3)

试试这个:

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

答案 1 :(得分:1)

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

如果你不想使用该模型至少使用json.net - jobject。

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

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

  

<强> data.furit_items.field = { “质量”: “好”}