2016-11-15 67 views
-2

如果我有JSON字符串:如何轉換JSON到數組

{"synonyms":["house","abode","appartment","condo","dwelling"]} 

如何存放這陣列,使得在C#這將是這個?

string[] synonyms = {"house","abode","appartment","condo","dwelling"}; 

我想使用Newtonsoft.Json庫。

回答

2

創建一個RootObject類。

public class RootObject 
{ 
    public List<string> synonyms { get; set; } 
} 

通過使用此創建RootObject:

RootObject obj = JsonConvert.DeserializeObject<RootObject>(json);

// Acessing synonyms property of obj 
List<string> syn = obj.synonyms; // call to Array if you want 
+0

謝謝,工作完美。 – cookies

+1

@cookies用於更復雜的json數據結構,你可以通過警察和粘貼你的json在這裏爲你創建你的RootObject類:http://json2csharp.com/ –

+0

這真的很有幫助謝謝。 – cookies

1

你可以做這樣的事情(不使用特定的類):

JToken root = JToken.Parse(yourJsonStringHere);

List<string> synonyms = root["synonyms"].ToObject<List<string>>();

如有必要,可以使用ToArray()方法將列表轉換爲數組。

+0

感謝您的替代解決方案,我將不得不嘗試一下,但Matthias的解決方案可以滿足我的需求。 – cookies