2

我正在使用 newtonsoft json 库。我想在以下 json 中将令牌“状态”的值从 false 更新为 true。我怎样才能做到这一点?:

{
    "type": "FeatureCollection",
    "Status": false,
    "crs": {
        "type": "EPSG",
        "properties": {
            "code": 28992
        }
    }
}
4

2 回答 2

10

你可以反序列化它,修改值并再次序列化它

dynamic jsonObject = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonString);
jsonObject.Status = true;
var modifiedJsonString = Newtonsoft.Json.JsonConvert.SerializeObject(jsonObject);
于 2013-10-31T14:22:46.520 回答
4

在这种情况下,令牌的名称是已知的(状态)。但是,当令牌的名称仅在运行时已知时(当名称作为参数传递时)。

string UpdateTokenValue(string jsonString, string TokenName, string newValue)
{
    JObject jsonObj = (JObject)Netwonsoft.Json.JsonConvert.DeserializeObject(jsonstring);
    jsonObj.Property(TokenName).Value = newValue;
    return NewtonSoft.Json.JsonConvert.SerializeObject(jsonObj);
}
于 2016-07-01T23:43:32.527 回答