Получение значения из словаря объектов C #
Я использую LiveConnect SDK, чтобы получить некоторую информацию о пользователе.
После выполнения всего, что для этого необходимо, вот результат, который я получаю:
{
"id": "123456789",
"name": "a b",
"first_name": "a",
"last_name": "b",
"link": "https://profile.live.com/",
"work": [],
"gender": null,
"emails": {
"preferred": "[email protected]",
"account": "[email protected]",
"personal": null,
"business": null
},
"addresses": {
"personal": {
"street": null,
"street_2": null,
"city": null,
"state": null,
"postal_code": null,
"region": null
},
"business": {
"street": null,
"street_2": null,
"city": null,
"state": null,
"postal_code": null,
"region": null
}
},
"locale": "en_US",
"updated_time": "2013-10-10T08:41:14+0000"
}
Мне нужно получить"account"
внутри"emails"
.
Сначала, когда я получил эту строку, я сделал следующее:
public Dictionary<string, object> userData = new Dictionary<string, object>();
userData = deserializeJsonObject(<the string above>);
private Dictionary<string, object> deserializeJsonObject(string json)
{
var jss = new JavaScriptSerializer();
var d = jss.Deserialize<Dictionary<string, object>>(json);
return d;
}
Теперь, чтобы получить письмо от учетной записи, я собирался сделать что-то вроде:
string email = userData["emails"]["account"];
но так как это строка словаря объектов, я получаю сообщение об ошибке, что это невозможно, поскольку userData ["emails"] является объектом.
Как я могу получить данные?