Analisar uma resposta json a partir da nuvem

Quando você usa um serviço web que é baseado na nuvem, sua resposta pode estar em JSON. Se, quando se trabalha com o seu serviço web baseado em nuvem, você tivesse que digitar o seguinte no seu navegador

Video: Universidade XTI - javascript - 27 - Objeto Array Indexado

https://maps.googleapis.com/maps/api/geocode/json?sensor=true&address = Império 
Edifício estatal&

você deseja obter de volta alguns JSON - o seguinte, por exemplo,

Video: Сугата Митра: Построим «Школу в Облаках»

resultado {resultados: [{&hellip-geometria {{limites: {nordeste: {lat: 40.7489545,GNL: -73,98483449999999},sudoeste: {lat: 40.7479245,GNL: -73.9865073}},localização: {lat: 40.7484395,GNL: -73.9856709},&hellip-}

Desde JSON é tão enigmática como XML, você teria, então, para analisar o que é que lhe dá JSON.

Video: Voando Por Cima Das Nuvens Na Região Amazonica

Análise JSON, no entanto, é bastante diferente da análise de XML. JSON é construído sobre duas estruturas são tranquilos familiarizado com - matrizes e dicionários. O seguinte exemplo JSON usa tanto:

NSError * Erro = nil-NSDictionary * responseDict = [NSJSONSerialization JSONObjectWithdata: dados 
Opções: NSJSONReadingMutableContainers erro:&erro]-


Quando você faz a análise JSON, você tem algumas opções que podem ser definidas, bem como:

Video: Customizing Cloud9 and the CS50 IDE by Dan Armendariz

  • NSJSONReadingMutableContainers: Os arrays e dicionários você voltar são mutáveis ​​para que você possa modificá-los. O padrão é imutável.

  • NSJSONReadingMutableLeaves: As cordas você voltar são mutáveis ​​para que você possa modificá-los. O padrão é imutável.

  • NSJSONReadingAllowFragments: Especifica que o analisador deve permitir que objetos de nível superior que não são matrizes ou dicionários. O padrão requer que os objetos de nível superior JSON para ser um matrizes ou dicionários.

Quando você usa o NSJSONSerialization classe, você (geralmente mas não necessariamente) voltar um array ou dicionário que pode incluir cordas e números e até mesmo outros arrays e dicionários (acho lista de propriedades objetos aqui).

Neste caso, você pode obter no local lat e lng fazendo

NSDictionary * Resultado = [resultados objectAtIndex: 0] -NSDictionary * geometria = [resultado objectForKey: @"geometria"] -NSDictionary * location = [geometria objectForKey: @"localização"] -latitude = [localização valueForKey: @"lat"] -longitude = [localização valueForKey: @"lng"] -

Publicações relacionadas