2014-04-04 20 views
23

Tôi có một chuỗi JSON như thế này:Làm thế nào để cập nhật một tài sản của một đối tượng JSON sử dụng NewtonSoft

{ 
    "code": "GENDER", 
    "value": { "option": "ML" } 
} 

Tôi muốn cập nhật option tài sản để "Male" nếu giá trị là "ML""Female" nếu giá trị là "FM".

Tôi đã nhận được đến thời điểm này, nhưng không chắc chắn làm thế nào để tiến hành:

JArray contentobject = (JArray)JsonConvert.DeserializeObject(contentJSON); 
JObject voicgObj = contentobject.Children().FirstOrDefault(ce => ce["code"].ToString() == "GENDER") as JObject; 
JProperty voicgProp = voicgObj.Property("value"); 

Tôi không biết làm thế nào để có được option mà là con của value.

Xin cảm ơn trước. Mọi gợi ý đều tuyệt.

Trả lời

30

Bạn có thể truy cập vào các đối tượng bằng cách sử dụng các thuộc tính như phím:

JObject code = JObject.Parse(json); 
string gender = (string)code["value"]["option"]; 

Ví dụ, hãy thử:

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

Cảm ơn bạn ltiong_sh .. Bạn đã làm cho tôi ngày. – Pipe2Path

Các vấn đề liên quan