Как обновить свойство объекта JSON с помощью NewtonSoft
У меня есть строка JSON как это:
{
"code": "GENDER",
"value": { "option": "ML" }
}
Я хотел бы обновить свойство 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
.
Спасибо заранее. Любые указатели были бы замечательными.
Ответы
Ответ 1
Вы можете получить доступ к объекту, используя свойства как ключи:
JObject code = JObject.Parse(json);
string gender = (string)code["value"]["option"];
В вашем примере попробуйте:
JObject code = JObject.Parse(json);
var val = code["value"];
string option = (string)val["option"];
if (option == "ML")
val["option"] = "Male";
if (option == "FM")
val["option"] = "Female";
string result = code.ToString();