2016-11-15 74 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