2016-12-12 4 views
3

Ich bin sehr neu in Android und habe große Schwierigkeiten, JSON zu verstehen. Ich habe eine separate JSON-Datei mit meinen Werten geschrieben, aber keine Ahnung, wie diese Zeichenfolgen in einer Android-App tatsächlich angezeigt werden.So zeigen Sie eine JSON-Datei in einem TextView an

Alle umfassenden Tutorials oder grundlegende Erklärungen sind sehr willkommen. Vielen Dank!

+0

posten Sie Ihre JSON-Datei Daten für eine kleine Erweiterung –

+0

Lesen Sie die Datei. Mache eine "Zeichenfolge". Parsen Sie den JSON mit GSON - https://sites.google.com/site/gson/gson-user-guide –

+0

@HyperPhrenic Haben Sie jetzt eine Idee über JSON? –

Antwort

2

Wenn Sie mit JSON Daten in Android arbeiten, würden Sie JSONArray verwenden JSON zu analysieren, die mit den Array Klammern beginnt. Arrays in JSON werden verwendet, um eine Sammlung verwandter Elemente (welche JSON-Objekte sein können) zu organisieren.

Zum Beispiel: [{"name":"item 1"},{"name": "item2} ]

Auf der anderen Seite, würden Sie JSONObject verwenden, wenn sie mit JSON tun haben, die mit geschweiften Klammern beginnt. Ein JSON-Objekt wird normalerweise verwendet, um Schlüssel/Wert-Paare zu enthalten, die sich auf ein Element beziehen. Zum Beispiel: {"name": "item1", "description":"a JSON object"}

Natürlich JSON Arrays und Objekte können ineinander verschachtelt werden. Ein gängiges Beispiel hierfür ist eine API, die ein JSON-Objekt zurückgibt einige Metadaten neben einer Reihe der Elemente enthält, die Ihre Suche entsprechen:

For example: {"startIndex": 0, "data": [{"name":"item 1"},{"name": "item2"} ]} 

wenn die JSON-Daten sind zu lang Gebrauch http://jsonlint.com/ oder eine Möglichkeit, zu validieren und zu organisieren (siehe Bild) es zuerst zu sehen! Dann brechen Sie es in die Teile und erhalten Sie die Daten, die Sie wollen!

enter image description here

Wenn ich dieses Bild beschreiben, es ist ein JSONObject

JSONObject jo= new JSONObject(data); 

und es hat "start", die einen String-Schlüssel ist, dass Sie String key = jo.getString("key_name");

"Daten" get verwenden, können ist ein Schlüssel für JSONArray und wie Sie wissen, haben Arrays Indizes. also hier hat es nur zwei JSONObjects als Indizes dieses Arrays, also sind sie 0 und 1. Sobald Sie auf diesen Index zugreifen, können Sie den String-Schlüssel der namens "

bekommen. Also, wenn es eine Reihe von Daten gibt kann nicht alle in Ihrem textView JSon brechen und nur die Daten anzeigen, die Sie anzeigen müssen!

2

Zunächst einmal versuchen, AsyncTask auch zu verstehen. Es ermöglicht dem Benutzer, eine long background Operationen durchzuführen und die Ergebnisse im MainUI Thread dem Benutzer zurück zu zeigen. Sie können JSON-Parsing durchführen und Werte abrufen, die in der JSON file über AsyncTask gespeichert sind.

JSON ist sehr leicht, leicht zu verstehen und es ist die beste Alternative zu XML. Um Ihre JSON-Datei zu analysieren, benötigen Sie Informationen über JSONArray und JSONObject. In einer JSON-Datei steht die eckige Klammer [ für ein JSON-Array und geschweifte Klammern { für die JSON-Objekte. JSON ist mit Key and Value pairs strukturiert.Holen Sie sich Ihre String-Werte mit getString("key"); und dann zeigen sie nur an in TextView

JSONArray - Es hat viele JSON Objects enthält.

JSONObjects - Es enthält key und value Paare.

  1. [ ->It represents the JSON Array
  2. { ->It represents the JSON Object

Zwei Methoden getJSONArray() und getJSONObject() werden hauptsächlich in der JSON verwendet, um die json node darstellen.

Holen Sie sich Ihren JSON Array Knoten.

JSONArray booksArray = jsonObj.getJSONArray("books"); 

JSON-Code:

{ 
    "books": [       //JSON array 

     {         //represents JSON Object 
     "id":"440",      //Key and Value pair 
     "edition": "Fourth", 
     "language": "Java", 
     }, 

     { 
     "id":"407", 
     "edition": "second", 
     "language": "Python", 

     } 

    ] 
} 

Above-Code hat ein JSON-Objekt (Bücher) und ein JSON-Array es zwei JSON-Objekte hält. Siehe this für JSON Parsing in Android.

Sie können auch upload Ihre JSON-Datei kostenlos pastebin und Ihre JSON-Datei als Baumstruktur-Ansicht mit JsonViewer

HINWEIS: Comments nicht offiziell in JSON unterstützt. Also habe ich nur Kommentare wie in JAVA hinzugefügt.

Verwandte Themen