2013-10-22 34 views
1

我有此JSON如何獲取文本從這個JSON(使用Json.net JObject)

{ 
    "Message": "The request is invalid.", 
    "ModelState": { 
    "UserExists": [ 
     "userName already exists in db." 
    ] 
    } 
} 

我可以通過所有的模型狀態錯誤試圖環(在這種情況下,只有1,但還有比這更)

但我不知道如何獲取文本。

JObject o = JObject.Parse(response.Content); 
         var errors = o["ModelState"]; 
         foreach (var error in errors) 
         { 

         } 

回答

1

ModelState你正在與一個叫UserExists屬性,然後有錯誤的字符串數組的對象。

因此,您首先必須遍歷ModelState的所有屬性,然後遍歷數組中的所有值。

var response = "{\"Message\": \"The request is invalid.\", \"ModelState\": { \"UserExists\": [ \"userName already exists in db.\" ], \"SomeOtherError\": [ \"another error.\", \"two in 1\" ] } }"; 
var o = JObject.Parse(response); 
var errors = o["ModelState"]; 
foreach (var errorProperty in errors.OfType<JProperty>()) 
{ 
    foreach (var error in errorProperty.Values()) 
    { 
     Console.WriteLine("{0}={1}", errorProperty.Name, error); 
    } 
} 
相關問題