Video: Building Apps for Mobile, Gaming, IoT, and more using AWS DynamoDB by Rick Houlihan 2024
Apabila anda menggunakan perkhidmatan web yang berpangkalan di awan, respons anda mungkin berada di JSON. Jika, semasa bekerja dengan perkhidmatan web berasaskan awan, anda perlu memasukkan yang berikut dalam pelayar web anda
// peta. googleapis. com / maps / api / geocode / json? sensor = true & address = Empire
Building State &anda akan mendapatkan kembali beberapa JSON - yang berikut, sebagai contoh
{ timur laut: { lat: 7489545, lng: -73. 98483449999999}, barat daya: { lat: 40. 7479245, lng: -73. 9865073}}, lokasi: { lat: 40. 7484395, lng: -73. 9856709}, …} Oleh kerana JSON sama seperti samar-samar sebagai XML, anda perlu mengurai apa sahaja yang JSON memberi anda.
Parsing JSON, bagaimanapun, agak berbeza dari XML parsing. JSON dibina atas dua struktur yang anda ketahui dengan tenang - susunan dan kamus. Contoh JSON berikut menggunakan kedua-dua:
NSError * error = nil; NSDictionary * responseDict = [NSJSONSerialization JSONObjectWithData: data options: Error NSJSONReadingMutableContainers: & error];
Apabila anda melakukan parsing JSON, anda mempunyai beberapa pilihan yang anda boleh tetapkan juga:
NSJSONReadingMutableContainers: Arahan dan kamus yang anda dapat balik boleh berubah supaya anda boleh mengubahnya. Lalai lalai tidak berubah.
NSJSONReadingMutableLeaves: String yang anda dapat balik boleh berubah supaya anda boleh mengubahnya. Lalai lalai tidak berubah.-
NSJSONReadingAllowFragments: Menentukan bahawa parser harus membolehkan objek peringkat atas yang tidak susunan atau kamus. Lalai ini memerlukan objek peringkat atas JSON sama ada susunan atau kamus.
-
-
Apabila anda menggunakan kelas NSJSONSerialization, anda (biasanya tetapi tidak semestinya) kembali sama ada array atau kamus yang boleh memasukkan rentetan dan nombor dan juga array lain dan kamus (fikirkan objek senarai objek di sini).
Dalam kes ini, anda boleh mendapatkan di lokasi lat dan lng dengan melakukan
kamusEdictionary * result = [results objectAtIndex: 0]; NSDictionary * geometry = [result objectForKey: @ "geometry"]; NSDictionary * location = [geometry objectForKey: @ "location"]; latitude = [location valueForKey: @ "lat"]; longitude = [value locationForKey: @ "lng"];