Подтвердить что ты не робот

Как обновить свойство объекта 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.

Спасибо заранее. Любые указатели были бы замечательными.

4b9b3361

Ответ 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();