I use .NET to cast the JSON string into a Dictionary via the System.Web.Script.Serialization.JavaScriptSerializer type in the 3.5 System.Web.Extensions assembly.
I keep JSON data in a dictionary object, looks like:
// 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 Data Example
{
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"
}]
}
How can I access data by key value? I would do something like:
Results["results"]["version"]
Results["results"]["user"]["name"]["first"]
Thanks in advance, Best regards, Christian.