我有url,它返回一个json字符串,结果是:
{
"ip": "202.141.243.124",
"hostname": "No Hostname",
"city": "Peshawar",
"region": "Khyber Pakhtunkhwa",
"country": "PK",
"loc": "34.0080,71.5785",
"org": "AS9260 Multinet Pakistan Pvt. Ltd.",
"postal": "24650"
}
我想要国名和州。我怎么才能得到它? 帮助我们,请帮我解决一下代码。
答案 0 :(得分:2)
您需要从NuGet
安装Json.Net
PM> Install-Package Newtonsoft.Json
然后试试这个......
void Main()
{
const string testJson = "{ \"ip\": \"202.141.243.124\", \"hostname\": \"No Hostname\", \"city\": \"Peshawar\", \"region" +
"\": \"Khyber Pakhtunkhwa\", \"country\": \"PK\", \"loc\": \"34.0080,71.5785\", \"org\": \"AS92" +
"60 Multinet Pakistan Pvt. Ltd.\", \"postal\": \"24650\" }";
IpInfo ipInfo = JsonConvert.DeserializeObject<IpInfo>(testJson);
}
public class IpInfo
{
[JsonProperty("ip")]
public string Ip { get; set; }
[JsonProperty("hostname")]
public string Hostname { get; set; }
[JsonProperty("city")]
public string City { get; set; }
[JsonProperty("region")]
public string Region { get; set; }
[JsonProperty("country")]
public string Country { get; set; }
[JsonProperty("loc")]
public string Loc { get; set; }
[JsonProperty("org")]
public string Org { get; set; }
[JsonProperty("postal")]
public string Postal { get; set; }
}
结果
您可以生成复制您尝试反序列化的JSON文档结构所需的类,在此示例中,它是生成的IpInfo
类。
您可以通过以下两种方式之一完成此操作:一种是使用Json2CSharp并将JSON数据粘贴到那里以生成类,或者您可以下载Xamasoft JSON Class Generator(我喜欢和使用的那种)回答你的问题)。
答案 1 :(得分:0)
您可以使用Json.Net反序列化为JObject
,然后获取region
和country
值。