[JAVA] Android-Entwicklung, wie man den Wert des JSON-Objekts auf null überprüft

Dekodieren von JSON-Objekten aus APIs in der Android-Entwicklung

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.

Analysieren von JSON-Objekten unter Android

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 ~~

Über Null Check auf Android

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.

Referenzseite

Informationen zur Akquisition von Android Json-Dateien https://nextat.co.jp/staff/archives/5

Recommended Posts

Android-Entwicklung, wie man den Wert des JSON-Objekts auf null überprüft
So implementieren Sie eine einzeilige Anzeige von TextView in der Android-Entwicklung
Verwendung von UsageStatsManager in Android Studio (Überprüfen der Startzeit anderer Apps)
So erhöhen Sie den Wert von Map in einer Zeile in Java
So überprüfen Sie das Protokoll im Docker-Container
So ändern Sie den Wert einer Variablen an einem Haltepunkt in IntelliJ
So überprüfen Sie Rails-Befehle im Terminal
So überprüfen Sie die neueste Version von io.spring.platform für das Schreiben in pom.xml von Spring (STS)
[Java] So erhalten Sie den Maximalwert von HashMap
[Android] So erhalten Sie die Einstellungssprache des Terminals
Wie ist der nächste Wert des Time-Objekts korrekt?
So überprüfen Sie die in der PC-Entwicklungsumgebung auf Ihrem Smartphone erstellte WEB-Anwendung
Verwendung der Getter / Setter-Methode (in Objektorientierung)
So rufen Sie den Hashwert in einem Array in Ruby ab
So ändern Sie den Einstellwert von Springboot Hikari CP
Zuordnung zu einer Klasse mit einem Wertobjekt in How to My Batis
So leiten Sie den letzten Tag des Monats in Java ab
Über die Grundlagen der Android-Entwicklung
[Schienen] Überprüfen Sie den Inhalt des Objekts
So geben Sie ein Array für den Rückgabewert / das Rückgabeargument einer Methode in der CORBA IDL-Datei an
So zeigen Sie 0 auf der linken Seite des Standardeingabewerts an
So geben Sie den Wert aus, wenn sich ein Array im Array befindet
So erhalten Sie die ID des automatisch inkrementierten PRIMAY-Schlüssels in MyBatis
So überprüfen Sie den Inhalt der Java-Zeichenfolge mit fester Länge
Ich möchte den Wert von Attribute in Selenium of Ruby ändern
So ermitteln Sie die Länge einer Audiodatei mit Java
Speicherort der Methodendefinition Zusammenfassung der zu überprüfenden Informationen Wenn im Projekt und in Rails / Gem definiert
So bestimmen Sie die Anzahl der Parallelen
So sortieren Sie eine Liste von SelectItems
So übergeben Sie den Wert an einen anderen Bildschirm
So erhalten Sie das Datum mit Java
So montieren Sie JSON direkt in Jackson
Verwendung von ExpandableListView in Android Studio
So geben Sie die Summe von drei beliebigen Zahlen ohne denselben Wert aus
Ich habe versucht, ein übergeordnetes Wertklasseobjekt in Ruby zu erstellen
So machen Sie den Einzug zu zwei Einzelbyte-Leerzeichen in der JAXB-Implementierung des JDK
Schritte zum Ausführen von Spring Boot beziehen sich auf die Werte in der Eigenschaftendatei
Ausführen mit normalen Befehlen für die Entwicklungssprache in der Docker-Entwicklungsumgebung
So ändern Sie die maximale und maximale Anzahl von POST-Daten in Spark
So ermitteln Sie die Gesamtzahl der Seiten beim Paging in Java
So beschränken Sie die Aktion des Übergangsziels, wenn Sie nicht angemeldet sind
So erhalten Sie den Einstellungswert (Eigenschaftswert) aus der Datenbank in Spring Framework
So ermitteln Sie den absoluten Pfad eines in Java ausgeführten Verzeichnisses
So erstellen Sie Ihre eigene Anmerkung in Java und erhalten den Wert
[Android] Entwickeln Sie einen Dienst, mit dem Universitätsstudenten den Betriebsstatus von Bussen überprüfen können, die an der Universität verkehren.
[Java] Geben Sie das Ergebnis von ffprobe -show_streams in JSON aus und ordnen Sie es einem Objekt in Jackson zu
[Swift] So ermitteln Sie die Anzahl der Elemente in einem Array (Super Basic)
Zusammenfassung der Auswahl von Elementen in Selen
So finden Sie die Ursache des Ruby-Fehlers
graphql-ruby: So erhalten Sie den Namen der Abfrage oder Mutation im Controller Hinweis
Passen Sie an, wie der Inhalt von Recyclerview aufgeteilt wird
Was tun, wenn der Wert im zweiten getSubmittedValue () in JSF Validator null wird?
Wie komme ich zum heutigen Tag?
[Swift] So ändern Sie die Reihenfolge der Balkenelemente in Tab Bar Controller [Anfänger]
Ausgabe der Verwendung der Slice-Methode
Speichern von Objekten in PostgreSQL als JSON mit MyBatis (Mapper XML)