Aujourd'hui, j'étais accro à l'analyse de JSON avec l'implémentation liée à l'API, je vais donc organiser mes connaissances. C'est une victoire facile pour iOS, mais c'était un peu différent pour Android. J'ai eu l'impression qu'Android est plus facile à voir car l'imbrication est moins profonde. Pour iOS, la communication API est implémentée avec Alamofire ou APIKit, donc la fermeture est écrite. Aller. Si vous êtes doué pour les méthodes de subdivision, la nidification ne sera pas trop profonde et ne sera pas moche, Jusqu'à présent, il y avait 2/3 de chances que la nidification soit plus profonde comme si elle avait été attribuée à divers sites.
Cependant, Android n'a pas de culture de fermeture, il ne semble donc pas avoir besoin d'être trop imbriqué.
Cependant, comme il existe une notation lambda, il y a un flux de (argument) -> (traitement du contenu)
, donc si vous éclatez lambda
Peut-être qu'une nidification profonde peut se produire.
Maintenant, supposons que vous ayez un fichier Json comme celui ci-dessous.
sample.json
[
{
"access":"15 minutes à pied de la gare Hikone sur la ligne JR Biwako",
"address":"1 Kanegame Town, Hikone City, Préfecture de Shiga-1",
"name":"Château de Hikone",
"service":"Prix d'entrée: 600 yens pour les adultes, 200 yens pour les enfants; billet fixe avec musée: 1000 yens pour les adultes, 350 yens pour les enfants",
"tel":"0749-22-2742 (Bureau de gestion du château de Hikone)",
"url":"http://www.hikoneshi.com/",
"pref" : null
},
{
"access":"25 minutes à pied de la gare Azuchi sur la ligne JR Biwako",
"address":"Shimotoyoura, Azuchi-cho, ville d'Omi-Hachiman, préfecture de Shiga",
"name":"Ruines du château d'Azuchi",
"service":"Frais d'entrée: adultes 500 yens, enfants 100 yens frais d'entrée (samedi et dimanche) 500 yens",
"tel":"0748-46-4234",
"url":"http://www.azuchi-shiga.com/",
"pref" : null¥
}
]
Ceci est emprunté au site de référence ci-dessous. Pour ceux qui veulent organiser JSON https://lab.syncer.jp/Tool/JSON-Viewer/ Veuillez faire de votre mieux avec de telles choses.
Si vous souhaitez analyser sur Android, utilisez JSONArray
pour créer un objet tableau JSON.
readjson.java
JSONArray jsons = new JSONArray(JsonFile);
for (int i = 0; i < jsons.length(); i++){
JSONObject jsonRslt = jsons.getJSONObject(i);
String access = jsonRslt.getString("access");
String address = jsonRslt.getString("address");
String name = jsonRslt.getString("name");
String service = jsonRslt.getString("service");
String tel = jsonRslt.getString("tel");
String url = jsonRslt.getString("url");
}
Vous pouvez désormais stocker des objets dans chaque variable. Le nom de la méthode est plus consciencieux que Objective-C sur iOS. Vous ne pouvez pas faire d'erreur. ~~ Par rapport à cela, quand Objective-C ~~
Je ne connaissais pas la vérification nulle de la clé de json dans le développement Android, alors je l'ai recherchée. Android a semblé planter l'application lors de l'accès à null. (Bien sûr)
La méthode semble être la suivante. Si vous avez d'autres bonnes pratiques, veuillez me le faire savoir. Je l'ai rarement utilisé dans le développement iOS, mais c'est aussi un point pour lancer une erreur avec la syntaxe try-catch.
json.java
JSONObject object = jsons //Créer des variables pour les objets json
if (jsonObject.isNull("pref")) {
//valeur pour pref(valeur)Est nul Cette fois ça passe
} else {
//valeur pour pref(valeur)Est non nulle
}
Quand j'essaye ça Suis-je le seul à penser que le développement iOS est plus difficile qu'autre chose? Lorsque j'ai recherché iOS, je n'ai trouvé que des pages en anglais, j'ai donc dû utiliser un code peu fiable, mais Avec Android, vous pouvez trouver rapidement les meilleures pratiques. ~~ Ingénieur Java Est-ce vraiment bien? Est-ce facile? ~~
Avec iOS, j'avais l'habitude de rechercher en m'appuyant sur Stack Over Flow. Peu importe comment vous y pensez, les ingénieurs Java ne peuvent s'empêcher de se sentir à l'aise.
À propos de l'acquisition de fichiers Android Json https://nextat.co.jp/staff/archives/5
Recommended Posts