{"status":200,"message":"OK","data":{"province":"江苏","city":"常州","areaCode":"0519","postCode":"213000","corp":"中国移动","card":null}}
------json格式是这样的,这是公共的api;
http://api.36wu.com/Mobile/GetMobileOwnership?mobile=13858159254
我的目的是这样的,把解析出来的json附值到左边的控件上,怎么做呢,我知道用json反序列化,但定义了不对。这个怎么定义如何办?下面是我的获得的json的代码,提供方便下:
private static string GetStringByUrl(string strUrl)
{
//与指定URL创建HTTP请求
WebRequest wrt = WebRequest.Create(strUrl);
//获取对应HTTP请求的响应
WebResponse wrse = wrt.GetResponse();
//获取响应流
Stream strM = wrse.GetResponseStream();
//对接响应流(以"GBK"字符集)
StreamReader SR = new StreamReader(strM, Encoding.GetEncoding("UTF-8"));
//获取响应流的全部字符串
string strallstrm = SR.ReadToEnd();
//关闭读取流
SR.Close();
//返回网页html代码
return strallstrm;
}
不是已经有比较成熟的json序列化及反序列化的工具吗?System.Net.Json.dll
用Newtonsoft.Json解析,这个比较好用
反序列化一下,将json字符串转成对象使用。
json反序列化推荐使用楼上说的Json.NET(Newtonsoft.Json),nuget安装下就可以使用。
Moblie result = JsonConvert.DeserializeObject<Moblie>(json);
txtProvince.Text = result.data.province;
txtPostCode.Text = Convert.ToString(result.data.postCode);
txtAreaCode.Text = Convert.ToString(result.data.areaCode);
txtCity.Text = result.data.city;
txtCard.Text = result.data.card;
txtMobile.Text = txtm.Text.Trim();
后面应该这样写,楼上你定义对了,但后面你说的不对