2014-04-04 27 views
23

我有一個JSON字符串,這樣更新JSON對象的屬性:如何使用NewtonSoft

{ 
    "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一個孩子。

在此先感謝。任何指針都會很棒。

回答

30

您可以通過使用屬性鍵訪問對象:

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(); 
+0

謝謝ltiong_sh ..你已經讓我很快樂。 – Pipe2Path