Video: Building Apps for Mobile, Gaming, IoT, and more using AWS DynamoDB by Rick Houlihan 2024
Ios Cloud Development'ın Aptalca Kısmının Parçası Cheat Sheet
Buluta dayalı bir web servisini kullandığınızda, yanıtınız JSON'da olabilir. Bulut tabanlı web servisinizle çalışırken, web tarayıcınız
// maps'e aşağıdakileri girmeliydiniz. googleapis. com / maps / API / coğrafi kod / json? sensor = true & address = İmparatorlukDevlet Binası &
bazı JSON'ları geri alırsınız - aşağıdaki örnek:
sonuç {results: [{… geometri {{ sınırları: { kuzeydoğu: { lat: 40. 7489545, lng: -73. 98483449999999}, güneybatısında: { enlem: 40. 7479245, lng: -73. 9865073}}, konum: { enlem: 40. 7484395, lng: -73. 9856709}, …}
JSON, XML kadar şifreli olduğundan, JSON'un verdiği her şeyi ayrıştırmanız gerekir.
Bununla birlikte, JSON'u ayrıştırmak XML'yi ayrıştırmaktan oldukça farklıdır. JSON, sessizce tanıdığınız iki yapı üzerine kurulmuştur - diziler ve sözlükler. Aşağıdaki JSON örneği her ikisini de kullanır:
NSError * error = nil; NSDictionary * responseDict = [NSJSONSerialization JSONObjectWithData: dataseçenekleri: NSJSONReadingMutableContainers hatası: & hata];
JSON ayrıştırma işlemini gerçekleştirirken, ayarlayabileceğiniz birkaç seçeneğiniz de var:
-
NSJSONReadingMutableContainers: Geri döndüğünüz diziler ve sözlükler değiştirilebilir, böylece bunları değiştirebilirsiniz. Varsayılan değişmez.
-
NSJSONReadingMutableLeaves: Geri getirdiğiniz dizeler değiştirilebilir, böylece bunları değiştirebilirsiniz. Varsayılan değişmez.
-
NSJSONReadingAllowFragments: Çözümleyicinin diziler veya sözlük olmayan üst düzey nesnelere izin vermesini belirtir. Varsayılan, JSON üst düzey nesnelerin bir dizi veya sözlük olmasını gerektirir.
NSJSONSerialization sınıfını kullandığınızda, (genellikle ve zorunlu olarak değil), dizeleri ve sayıları ve hatta diğer dizileri ve sözlükleri içerebilecek bir dizi veya sözlük döndürürsünüz (özellik listesi nesnelerini burada düşünün).
Bu durumda, lat ve lng konumunda
NSDictionary * result = [sonuçlar objectAtIndex: 0] yaparak ulaşabilirsiniz. NSDictionary * geometry = [sonuç objectForKey: @ "geometri"]; NSDictionary * konum = [geometri nesnesiForkesi: @ "yer"]; enlem = [konum değeriForKey: @ "lat"]; boylam = [konum değeriForKey: @ "lng"];