Heute war ich süchtig danach, JSON mit der Implementierung in Bezug auf API zu analysieren, also werde ich mein Wissen organisieren. Es ist ein einfacher Gewinn für iOS, aber für Android war es etwas anders. Ich hatte den Eindruck, dass Android leichter zu sehen ist, weil die Verschachtelung flacher ist. Unter iOS wird die API-Kommunikation mit Alamofire oder APIKit implementiert, sodass der Abschluss geschrieben wird. Gehen. Wenn Sie gut in Unterteilungsmethoden sind, wird die Verschachtelung nicht zu tief und nicht hässlich sein. Bisher bestand eine Wahrscheinlichkeit von 2/3, dass die Verschachtelung tiefer war, als wäre sie verschiedenen Standorten zugeordnet worden.
Android hat jedoch keine Kultur der Schließung, so dass es nicht zu stark verschachtelt sein muss. Da es jedoch eine Lambda-Notation gibt, gibt es einen Fluss von "(Argument) -> (Verarbeiten von Inhalten)". Wenn Sie also Lambda platzen lassen Möglicherweise kann eine tiefe Verschachtelung auftreten.
Angenommen, Sie haben eine Json-Datei wie die folgende.
sample.json
[
{
"access":"15 Minuten zu Fuß von der Hikone Station mit der JR Biwako Line",
"address":"1 Kanegame Town, Hikone City, Präfektur Shiga-1",
"name":"Hikone Schloss",
"service":"Eintrittspreis: 600 Yen für Erwachsene, 200 Yen für Kinder, Eintrittskarte mit Museum: 1000 Yen für Erwachsene, 350 Yen für Kinder",
"tel":"0749-22-2742 (Hikone Castle Management Office)",
"url":"http://www.hikoneshi.com/",
"pref" : null
},
{
"access":"25 Minuten zu Fuß vom Bahnhof Azuchi der JR Biwako Line entfernt",
"address":"Shimotoyoura, Azuchi-cho, Stadt Omi-Hachiman, Präfektur Shiga",
"name":"Azuchi Burgruine",
"service":"Eintrittspreis: Erwachsene 500 Yen, Kinder 100 Yen Eintrittsgebühr (Samstag und Sonntag) 500 Yen",
"tel":"0748-46-4234",
"url":"http://www.azuchi-shiga.com/",
"pref" : null¥
}
]
Dies ist von der unten stehenden Referenzseite ausgeliehen. Für diejenigen, die JSON arrangieren möchten https://lab.syncer.jp/Tool/JSON-Viewer/ Bitte geben Sie Ihr Bestes mit solchen Dingen.
Wenn Sie unter Android analysieren möchten, verwenden Sie "JSONArray", um ein JSON-Array-Objekt zu erstellen.
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");
}
Sie können jetzt Objekte in jeder Variablen speichern. Der Name der Methode ist gewissenhafter als Objective-C unter iOS. Sie können keinen Fehler machen. ~~ Im Vergleich dazu, wenn Objective-C ~~
Ich kannte den Null-Check für JSons Schlüssel in der Android-Entwicklung nicht und habe ihn nachgeschlagen. Android schien die App beim Zugriff auf null zum Absturz zu bringen. (Natürlich)
Die Methode scheint wie folgt zu sein. Wenn Sie weitere bewährte Methoden haben, lassen Sie es mich bitte wissen. Ich habe es selten in der iOS-Entwicklung verwendet, aber es ist auch ein Punkt, um einen Fehler mit der Try-Catch-Syntax auszulösen.
json.java
JSONObject object = jsons //Erstellen Sie Variablen für JSON-Objekte
if (jsonObject.isNull("pref")) {
//Wert für Präf(Wert)Ist null Dieses Mal vergeht es
} else {
//Wert für Präf(Wert)Ist nicht null
}
Wenn ich das versuche Bin ich der einzige, der die iOS-Entwicklung für schwieriger hält als alles andere? Als ich nach iOS gesucht habe, habe ich nur englische Seiten aufgerufen, also musste ich unzuverlässigen Code verwenden, aber Mit Android können Sie schnell die Best Practices finden. ~~ Java-Ingenieur Ist das wirklich in Ordnung? Ist das einfach ~~
Unter iOS habe ich mich immer auf Stack Over Flow verlassen. Egal, wie Sie darüber denken, Java-Ingenieure können nicht anders, als sich wohl zu fühlen.
Informationen zur Akquisition von Android Json-Dateien https://nextat.co.jp/staff/archives/5
Recommended Posts