首页 > 解决方案 > 使用 JToken 更新 JObject

问题描述

假设我有一些 JSON

{
    "name": "John"
    ... other properties
}

它也可能像

{
    "person": {
        "name": "John"
    }        
    ... other properties
}

并且此代码用于查找名称字段。

var obj = JObject.Parse(json);
var token = obj.SelectToken("$..name");            
token = "James";

拿到之后,想把它设置成另一个值,再放回JSON中得到

{
    "person": {
        "name": "James"
    }        
    ... other properties
}

或者

{
    "person": {
        "name": "James"
    }        
    ... other properties
}

如何将 JToken 放回 JObject 中?

标签: c#json

解决方案


请试试这个:

var o = JObject.Parse(json);
o["person"]["name"] = "James";
var backToJson = o.ToString(Formatting.None);

推荐阅读