JSON文字列の結果を返すURLがあります:
{
"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"
}
国名と州が必要です。どうすれば入手できますか? 私を助けて、コードを助けてください。
回答:
回答№1は2インストールする必要があります Json.Net
NuGetから
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
生成されたクラス。
これは、次の2つの方法のいずれかで実行できます。 Json2CSharp JSONデータをそこに貼り付けてクラスを生成するか、代わりにダウンロードできます Xamasoft JSONクラスジェネレーター (あなたの質問に答えるのに私が好み、使用したもの)。
回答№2の場合は0
あなたは使うことができます Json.Net にデシリアライズする JObject
それから、 region
そして country
値。