Как разобрать ответ JSON в словарь? - PullRequest
1 голос
/ 16 июня 2011

У меня есть JSON-резонанс (HTTPWebResponse), возвращаемый из моей службы WCF.Это выглядит так:

{
    "New SessionResult": [
        {
            "Key": "Token",
            "Value": "token_value"
        }
    ]
}

Я использую JSON.NET (http://james.newtonking.com), и я не могу понять, как десериализовать этот ответ в Dictionary<string, string>. Я пробовал несколько вещей, но каждый говорит по-разномуформулировка «не могу преобразовать JSON в sting». В настоящее время я пробовал это:

Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(reader.ReadToEnd());

Если возможно, я мог бы просто получить определенные значения для помещения непосредственно в строки. Пример) В ответе JSON есть ключ, пара значений (Token, token_value)), Я хочу получить значение для ключа «Token» и поместить его в локальную строку «string Token».

Кто-нибудь поможет, пожалуйста, спасибо.

Ответы [ 2 ]

2 голосов
/ 16 июня 2011

Вы должны попробовать плагин Newtonsoft.Json: http://json.codeplex.com/

, в вашем случае вы получите что-то вроде:

 JObject json = JObject.Parse(jsonResponseData);
 ...
 mydic.Add(json["New SessionResult"]["Key"], json["New SessionResult"]["Value"]
1 голос
/ 30 декабря 2012

Зачем менять свой код?

Просто конвертируйте из "string, string" -> "string, dynamic" в ваше объявление.

Dictionary<string, string> values = JsonConvert.DeserializeObject<Dictionary<string, string>>(reader.ReadToEnd());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...