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
Conteúdo
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"] -