/ / URLから国名と地域を取得[Google](http://ipinfo.io)[終了]-c#、asp.net、json

URLから国名と地域を取得する[Google](http://ipinfo.io)[非公開] - c#、asp.net、json

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 値。