簡體   English   中英

如何在C#中訪問此JSON值

[英]How can I access this JSON values in C#


我有此JSON數據,我需要在C#中獲取一些特定值。

 { "info": { "statuscode": 0, "copyright": { "text": "© 2017 MapQuest, Inc.", "imageUrl": "http://api.mqcdn.com/res/mqlogo.gif", "imageAltText": "© 2017 MapQuest, Inc." }, "messages": [] }, "options": { "maxResults": -1, "thumbMaps": true, "ignoreLatLngInput": false }, "results": [ { "providedLocation": { "location": "mannheim, heppenheimer str" }, "locations": [ { "street": "Heppenheimer Straße", "adminArea6": "", "adminArea6Type": "Neighborhood", "adminArea5": "Mannheim", "adminArea5Type": "City", "adminArea4": "", "adminArea4Type": "County", "adminArea3": "Baden-Württemberg", "adminArea3Type": "State", "adminArea1": "DE", "adminArea1Type": "Country", "postalCode": "68309", "geocodeQualityCode": "B3CAA", "geocodeQuality": "STREET", "dragPoint": false, "sideOfStreet": "N", "linkId": "u0y19uvgm4pf", "unknownInput": "", "type": "s", "latLng": { "lat": 49.509084, "lng": 8.522526 }, }, { "street": "Heppenheimer Straße", "adminArea6": "", "adminArea6Type": "Neighborhood", "adminArea5": "Mannheim", "adminArea5Type": "City", "adminArea4": "", "adminArea4Type": "County", "adminArea3": "Baden-Württemberg", "adminArea3Type": "State", "adminArea1": "DE", "adminArea1Type": "Country", "postalCode": "68309", "geocodeQualityCode": "B3CAA", "geocodeQuality": "STREET", "dragPoint": false, "sideOfStreet": "N", "linkId": "u0y19uees7fb", "unknownInput": "", "type": "s", "latLng": { "lat": 49.507762, "lng": 8.519397 }, }, { "street": "Heppenheimer Straße", "adminArea6": "", "adminArea6Type": "Neighborhood", "adminArea5": "Mannheim", "adminArea5Type": "City", "adminArea4": "", "adminArea4Type": "County", "adminArea3": "Baden-Württemberg", "adminArea3Type": "State", "adminArea1": "DE", "adminArea1Type": "Country", "postalCode": "68309", "geocodeQualityCode": "B3CAA", "geocodeQuality": "STREET", "dragPoint": false, "sideOfStreet": "N", "linkId": "u0y1dj0msj0y", "unknownInput": "", "type": "s", "latLng": { "lat": 49.51086, "lng": 8.525907 }, } ] } ] } 

我已經使用了JSON.NET,並且知道我必須先對其進行反序列化。 但是我不知道如何獲取“ lat”和“ lng”值。 我的情況下,我必須將所有這三個都進行比較。

首先按照我在此處回答的步驟創建C#類以模仿JSON結構的結構。

然后只需執行以下操作:

var data = JsonConvert.DeserializeObject<Rootobject>("YourJsonString");
var latLng = data.results[0].locations[0].latLng;
var lat = latLng.lat;
var lng = latLng.lng;

您不必創建代表您的JSON數據的類。 您可以像這樣查詢JSON

var json = File.ReadAllText("ex.json");
var jobject = JObject.Parse(json);
var results = jobject["results"];
foreach (var result in results)
{
    var locations = result["locations"];
    foreach (var location in locations)
    {
        var pair = location["latLng"];
        Console.WriteLine("Lat: {0}, Lng: {1}", pair["lat"], pair["lng"]);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM