{"address":"CN|\u5409\u6797|\u957f\u6625|None|CERNET|1|None","content":{"address_detail":{"province":"\u5409\u6797\u7701","city":"\u957f\u6625\u5e02","district":"","street":"","street_number":"","city_code":53},"address":"\u5409\u6797\u7701\u957f\u6625\u5e02","point":{"y":"5419815.34","x":"13950002.65"}},"status":0}这个怎么处理,转换成对象或者字典?“\u5409\u6797” 这个是什么编码?JS读取是文字,c#是“\u5409\u6797” 。谢谢各位大侠了我读取的方法1 var webClient=new WebClient();
webClient.Credentials = CredentialCache.DefaultCredentials;//获取或设置用于向Internet资源的请求进行身份验证的网络凭据
Byte[] bytes = webClient.DownloadData("http://api.map.baidu.com/location/ip?ak=F454f8a5efe5e577997931cc01de3974&ip=202.198.16.3"); string pageHtml = Encoding.Default.GetString(bytes); //如果获取网站页面采用的是GB2312,则使用这句
// string pageHtml = Encoding.UTF8.GetString(bytes); //如果获取网站页面采用的是UTF-8,则使用这句 Response.Write(pageHtml);
我读取的方法2
public static string GetCitybyIp(string data,string method)
{
string url = "http://api.map.baidu.com/location/ip?ak=F454f8a5efe5e577997931cc01de3974&ip=" + data;
System.Net.HttpWebRequest request;// 创建一个HTTP请求
request = (System.Net.HttpWebRequest)WebRequest.Create(url);//
request.Method="get";System.Net.HttpWebResponse response;
response = (System.Net.HttpWebResponse)request.GetResponse();
System.IO.StreamReader myreader = new System.IO.StreamReader(response.GetResponseStream(), Encoding.GetEncoding("GB2312"));
string responseText = myreader.ReadToEnd();
myreader.Close();
return responseText;
}
webClient.Credentials = CredentialCache.DefaultCredentials;//获取或设置用于向Internet资源的请求进行身份验证的网络凭据
Byte[] bytes = webClient.DownloadData("http://api.map.baidu.com/location/ip?ak=F454f8a5efe5e577997931cc01de3974&ip=202.198.16.3"); string pageHtml = Encoding.Default.GetString(bytes); //如果获取网站页面采用的是GB2312,则使用这句
// string pageHtml = Encoding.UTF8.GetString(bytes); //如果获取网站页面采用的是UTF-8,则使用这句 Response.Write(pageHtml);
我读取的方法2
public static string GetCitybyIp(string data,string method)
{
string url = "http://api.map.baidu.com/location/ip?ak=F454f8a5efe5e577997931cc01de3974&ip=" + data;
System.Net.HttpWebRequest request;// 创建一个HTTP请求
request = (System.Net.HttpWebRequest)WebRequest.Create(url);//
request.Method="get";System.Net.HttpWebResponse response;
response = (System.Net.HttpWebResponse)request.GetResponse();
System.IO.StreamReader myreader = new System.IO.StreamReader(response.GetResponseStream(), Encoding.GetEncoding("GB2312"));
string responseText = myreader.ReadToEnd();
myreader.Close();
return responseText;
}
输出结果:吉林
哥们真有趣,我也知道这么弄。这不是想跟js读json一样读吗?这样读出来address.content.city为吉林
class Program
{
static void Main(string[] args)
{
//另注:保持属性的大小写一致
Addresinfo info = new Addresinfo();
string txt = File.ReadAllText("1.txt", Encoding.Default);
info = JsonToObject(txt, info) as Addresinfo;
Console.WriteLine(info.content.address_detail.city);
Console.Read();
}
// 从一个Json串生成对象信息
static object JsonToObject(string jsonString, object obj)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
MemoryStream mStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
return serializer.ReadObject(mStream);
}
} public class Addresinfo
{
public string address { get; set; }
public content content { get; set; }
public string status { get; set; }
} public class content
{
public address_detail address_detail { get; set; }
public string address { get; set; }
public point point { get; set; }
} public class point
{
public string Y { get; set; }
public string X { get; set; }
} public class address_detail
{
public string province { get; set; }
public string city { get; set; }
public string district { get; set; }
public string street { get; set; }
public string street_number { get; set; }
public string city_code { get; set; }
}
哥们真有趣,我也知道这么弄。这不是想跟js读json一样读吗?这样读出来address.content.city为吉林
你自己问题都说不清楚.