我有一个像这样的JSON字符串:
{ "code": "GENDER", "value": { "option": "ML" } }
我想将option属性更新为,"Male"如果值为,"ML"并且"Female"值为"FM"。
option
"Male"
"ML"
"Female"
"FM"
我已经到了这一点,但是不确定如何进行:
JArray contentobject = (JArray)JsonConvert.DeserializeObject(contentJSON); JObject voicgObj = contentobject.Children().FirstOrDefault(ce => ce["code"].ToString() == "GENDER") as JObject; JProperty voicgProp = voicgObj.Property("value");
我不知道怎么去的option是一个孩子value。
value
提前致谢。任何指针都很棒。
您可以使用属性作为键来访问对象:
JObject obj = JObject.Parse(json); string gender = (string)obj["value"]["option"];
对于您的示例,请尝试:
JObject obj = JObject.Parse(json); var val = obj["value"]; string option = (string)val["option"]; if (option == "ML") val["option"] = "Male"; if (option == "FM") val["option"] = "Female"; string result = obj.ToString();