【发布时间】:2014-08-26 09:24:32
【问题描述】:
我使用 .NET 通过 3.5 System.Web.Extensions 程序集中的 System.Web.Script.Serialization.JavaScriptSerializer 类型将 JSON 字符串转换为 Dictionary。
我将 JSON 数据保存在字典对象中,如下所示:
// Simple POST request
using (System.Net.WebClient wb = new System.Net.WebClient())
{
// Random user data API - http://randomuser.me/
string url = "http://api.randomuser.me/";
var data = new System.Collections.Specialized.NameValueCollection();
var responseStringJson = Encoding.Default.GetString(wb.UploadValues(url, "POST", data));
var jsSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
Dictionary<string, object> Results = jsSerializer.Deserialize<dynamic>(responseStringJson);
}
JSON 数据示例
{
results: [{
user: {
gender: "male",
name: {
title: "mr",
first: "patrick",
last: "coleman"
},
location: {
city: "stockton",
state: "minnesota",
zip: "10532"
},
email: "patrick.coleman45@example.com",
username: "ticklishostrich48",
password: "darkknight55",
salt: ">DyBf9aih",
md5: "5d6bf4508070fba41e2d602c847cdbd9",
sha1: "19e5b0b59e6c86dbf370c431a7edb2aa4f1420a6",
sha256: "9434e04d307839d9b6411254007072412c11f7e6b5d8fd848e56fe5f0c660a04"
},
version: "0.4"
}]
}
如何通过键值访问数据? 我会做类似的事情:
Results["results"]["version"]
Results["results"]["user"]["name"]["first"]
在此先感谢,最好的问候,克里斯蒂安。
【问题讨论】:
标签: c# json object dictionary