我正在尝试使用一种Web服务,该服务以json格式返回所需的数据。现在,实际要点是我可以从特定的Web服务URL中以字符串形式获取数据。
string url= @"http://api.oodle.com/api/v2/listings?key=TEST®ion=chicago&category=vehicle&format=json";
string jsonString = new WebClient().DownloadString(url);
现在的关键是我以字符串形式(以JSON格式)获取数据。但是我不知道如何将字符串转换为JSON字符串以及如何从此字符串中获取数据。
让我给你举个例子,这样你就可以轻松理解
如果我的jsonString像
{
"current":{
"region":{
"id":"chicago",
"name":"Chicago"
},
"category":{
"id":"vehicle",
"name":"Cars & Vehicles",
"abbrev":"Vehicles"
},
"start":1,
"num":10
}
}
如何从该字符串获取region_name?希望你能理解我 !尝试使用Test Link!
最佳答案
添加对System.Web的引用,然后添加到您的using部分
using System.Web.Script.Serialization;
然后(使用您的示例json字符串)
string jsonString = "{\"current\":{\"region\":{\"id\":\"chicago\",\"name\":\"Chicago\"},\"category\":{\"id\":\"vehicle\",\"name\":\"Cars & Vehicles\",\"abbrev\":\"Vehicles\"},\"start\":1, \"num\":10}}";
JavaScriptSerializer serializer = new JavaScriptSerializer();
CurrentRecord currentRecord = serializer.Deserialize<CurrentRecord>(jsonString);
string regionName = currentRecord.current.region.name;
还将以下类添加到您的项目中:
[Serializable]
public class CurrentRecord
{
public current current;
}
[Serializable]
public class current
{
public region region;
public category category;
public int start;
public int num;
}
[Serializable]
public class region
{
public string id;
public string name;
}
[Serializable]
public class category
{
public string id;
public string name;
public string abbrev;
}
关于c# - 从JSON提取数据时出现困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9110264/