2014-06-30 123 views
1

我有一個JSON字符串:[{"number":"123-456-789","array":["1", "2"]}]。我想檢查這個JSON是否包含"number"字段。我在嘗試:如何在字段中搜索JSON字符串?

string jsonString = [{"number":"123-456-789","array":["1", "2"]}]; 
Newtonsoft.Json.Linq.JArray jsonObject = JArray.Parse(jsonString); 

那麼我該如何「搜索」這個jsonObject指定的字段呢?

+0

一旦它的解碼,那麼它的某種原始的對象,而不是字符串。你會像使用其他方法一樣爲該對象使用相同的迭代方法。 –

+0

@MarcB你能舉個例子嗎? – user3772119

+0

'隨便推薦一種不依賴於「Newtonsoft」庫的方法:)'哦,上帝,爲什麼?這通常被認爲是最適合.NET的JSON庫。 – mason

回答

2

如果你想測試,如果 「數」 屬性存在,那麼你可以使用:

bool exists = jsonObject[0].Children<JProperty>().Any(p => p.Name == "number"); 

如果你想獲得「數字」屬性的值,那麼你可以使用

string number = jsonObject[0]["number"].Value<string>(); 

編輯 這裏是如何得到「陣列」屬性

string[] arr = jsonObject[0]["array"].Values<string>().ToArray(); 
1

像這樣:

 var isThereNumber = jsonObject[0]["number"]; 
     var isThereNumber2 = jsonObject[0]["number2"]; 

乾杯