2016-11-15 3 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, у вас может быть класс RootObject, созданный для вас копом и вставка вашего json здесь: http://json2csharp.com/ –

+0

Это действительно полезно спасибо. – cookies

1

Вы можете сделать что-то вроде этого (без использования определенного класса):

JToken root = JToken.Parse(yourJsonStringHere);

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

При необходимости вы можете преобразовать список в массив, используя метод ToArray().

+0

спасибо за альтернативное решение, мне придется попробовать его когда-нибудь, но решение Matthias делает то, что мне нужно. – cookies

Смежные вопросы