Como posso obter o object em JSON usando jquery ou javascript

Eu sou novo no JSON

Como posso exibir os seguintes dados no html. por exemplo eu quero mostrar o ‘lat’ e ‘lng’ do ‘sudoeste’ ou eu quero exibir o ‘texto’.

{“routes”: [{“bounds”: {“northeast”: {“lat”: -26.758340, “lng”: 153.035930}, “sudoeste”: {“lat”: -27.454070, “lng”: 152.852150}} , “copyrights”: “Dados do mapa © 2011 GBRMPA, Google, Whereis (R), Sensis Pty Ltd”, “pernas”: [{“distance”: {“text”: “89,7 km”, “value”: 89693} , “duração”: {“text”: “1 hora 17 mins”, “value”: 4633}, “end_address”: “Maleny QLD 4552, Austrália”, “end_location”: {“lat”: -26.758420, “lng “: 152.852150},” start_address “:” Brisbane QLD, Austrália “,” start_location “: {” lat “: -27.454070,” lng “: 153.026880},}],}}}

Felicidades!

Como Georgi disse, use $.parseJSON(data) .

Então, para acessar as propriedades lat e lng , você pode usar a notação de ponto:

 var data = ''; // json string here var jsonObject = $.parseJSON(data); var lat = jsonObject.routes[0].bounds.northeast.lat; var lng = jsonObject.routes[0].bounds.northeast.lng; 

Como as routes são um object de matriz, usamos o acessador de elemento de matriz regular ( [] ) para acessar o primeiro elemento ( 0 ).

Supondo que os dados sejam seu json, você pode usar $ .parseJSON (dados) para obter o object.
By the way, o json em seu exemplo não é válido – você tem dois comas extras perto do final. Aqui está um exemplo usando o json válido:

 var data = '{ "routes" : [ { "bounds" : { "northeast" : { "lat" : -26.758340, "lng" : 153.035930 }, "southwest" : { "lat" : -27.454070, "lng" : 152.852150 } }, "copyrights" : "Map data ©2011 GBRMPA, Google, Whereis(R), Sensis Pty Ltd", "legs" : [ { "distance" : { "text" : "89.7 km", "value" : 89693 }, "duration" : { "text" : "1 hour 17 mins", "value" : 4633 }, "end_address" : "Maleny QLD 4552, Australia", "end_location" : { "lat" : -26.758420, "lng" : 152.852150 }, "start_address" : "Brisbane QLD, Australia", "start_location" : { "lat" : -27.454070, "lng" : 153.026880 } } ] } ] }'; var routes = $.parseJSON(data).routes; 

Agora rotas é uma matriz javascript de objects de rota. Por exemplo, routes[0].copyrights retorna “Dados do mapa © 2011 GBRMPA, Google, Whereis (R), Sensis Pty Ltd”. Espero que isto ajude!

é possível que sua string json já tenha sido analisada, você pode obter um object json a partir de um serviço ajax, se você quer um valor de um determinado object json ou sub-object, você pode buscá-lo assim:

 var data = {here goes your whole json object you have above...}; var southwestLong = data.routes[0].bounds.southwest.lng; 

basicamente, a análise é omitida porque entrou como um object json.

mas na maioria dos casos você estaria escrevendo algum looping, por exemplo, loop sobre todos os objects de rota, para renderizá-los em uma lista.

Além disso, aconselho que você teste um determinado item a ser definido. porque se você passar um object json alterado, onde ele tem 0 rotas por exemplo, o código acima causaria erro, porque data.routes[0] não existe.