Βίντεο: LG 23ET83V-W Silver 23" 10-point Touchscreen 2024
Μέρος του iOS Cloud Development For Dummies Cheat Sheet < Όταν χρησιμοποιείτε μια υπηρεσία ιστού που βασίζεται στο σύννεφο, η απάντησή σας μπορεί να είναι σε JSON. Εάν, όταν συνεργαστείτε με την υπηρεσία ιστού που βασίζεται σε σύννεφο, θα πρέπει να πληκτρολογήσετε τα ακόλουθα στο πρόγραμμα περιήγησης ιστού
// maps. googleapis. com / maps / api / geocode / json; αισθητήρας = true & address = Empire
Building State &θα πάρετε πίσω κάποια JSON - τα παρακάτω, για παράδειγμα
{ βορειοανατολικά: { lat: 40. 7489545, lng: -73. 98483449999999}, νοτιοδυτικά: { lat: 40. 7479245, lng: -73. 9865073}}, τοποθεσία: { lat: 40. 7484395, lng: -73. 9856709}, …} Δεδομένου ότι το JSON είναι εξίσου κρυπτικό με το XML, τότε θα πρέπει να αναλύσετε οτιδήποτε σας δίνει το JSON.Η ανάλυση του JSON, ωστόσο, είναι αρκετά διαφορετική από την ανάλυση XML. Το JSON βασίζεται σε δύο δομές που είστε εξοικειωμένοι με - συστοιχίες και λεξικά. Το ακόλουθο παράδειγμα JSON χρησιμοποιεί και τα δύο:
NSError * error = nil; NSDictionary * responseDict = [NSJSONSerialization JSONObjectWithData: δεδομένα
επιλογές: NSJSONReadingMutableContainers σφάλμα: & σφάλμα];Όταν κάνετε την ανάλυση JSON, έχετε μερικές επιλογές που μπορείτε να ορίσετε επίσης:
NSJSONReadingMutableContainers: Οι συστοιχίες και τα λεξικά που παίρνετε πίσω είναι μεταβλητά ώστε να μπορείτε να τα τροποποιήσετε. Η προεπιλογή είναι αμετάβλητη.
NSJSONReadingMutableLeaves: Οι χορδές που παίρνετε πίσω είναι μεταβλητές ώστε να μπορείτε να τις τροποποιήσετε. Η προεπιλογή είναι αμετάβλητη.
NSJSONReadingAllowFragments: Καθορίζει ότι ο αναλυτής πρέπει να επιτρέπει σε αντικείμενα ανωτάτου επιπέδου που δεν είναι συστοιχίες ή λεξικά. Η προεπιλογή απαιτεί τα αντικείμενα ανώτατου επιπέδου JSON να είναι είτε συστοιχίες είτε λεξικά.-
-
Σε αυτή την περίπτωση, θα μπορούσατε να πάρετε στη θέση lat και lng κάνοντας
-
NSDictionary * result = [results objectAtIndex: 0]; NSDictionary * γεωμετρία = [αποτέλεσμα objectForKey: @ "γεωμετρία"]; NSDictionary * θέση = [γεωμετρία objectForKey: @ "τοποθεσία"]? γεωγραφικό πλάτος = [τιμή θέσηςForKey: @ "lat"]; γεωγραφικό μήκος = [τιμή θέσηςForKey: @ "lng"];