在 C# 中更新 json 对象

update json object in c#

我有一个 json 对象,类似于

{ "name" : "sai", "age" : 22, "salary" : 25000}

我想通过

更新json对象
{ "name" : "sai", "age" : 23, "Gender" : "male"}

然后我想要类似

的结果
{ "name" : "sai", "age" : 23, "salary" : 25000, "Gender" : "male"}

我试过

foreach (var item in actualJson)
{
    bool isFound = false;
    foreach (var newItem in newJson)
    {
        if(item == newItem)  // always returns false, anything wrong with this?
        {
            isFound = true;
            break;
        }
    }

    if(!isFound)
    {
        // add to json
    }
}

我没有解决这个问题的想法?

任何 help/guidance 将不胜感激。

使用 Json.NET 你可以这样做:

var json1 = "{ \"name\" : \"sai\", \"age\" : 22, \"salary\" : 25000}";
var json2 = "{ \"name\" : \"sai\", \"age\" : 23, \"Gender\" : \"male\"}";

var object1 = JObject.Parse(json1);
var object2 = JObject.Parse(json2);

foreach (var prop in object2.Properties())
{
    var targetProperty = object1.Property(prop.Name);

    if (targetProperty == null)
    {
        object1.Add(prop.Name, prop.Value);
    }
    else
    {
        targetProperty.Value = prop.Value;
    }
}

var result = object1.ToString(Formatting.None);

这将在 json1 中添加一个 属性 的 json2(如果它不存在)或者它会更新它(如果它存在)的值。