1. Einführung in JSON
JSON (JavaScript -Objektnotation), ähnlich wie XML, ist ein Datenaustauschformat. Wenn Java beispielsweise zusätzlich zur Verwendung von XML eine Daten zu JavaScript generiert, können Sie JSON auch verwenden.
Der Vorteil von JSON gegenüber XML ist, dass es sehr einfach auszudrücken ist; Offizielle Website: http://www.json.org/
JSON ist X in Ajax (dh es kann XML ersetzen); ------ vom Gründer von JSON;
Hinweis: JSON ist kein Dokumentformat, es gibt keine *.json -Dokumente. Im Allgemeinen finden sich JSON -Formatdokumente in TXT, und XML kann ein Standard sein.
JSON Online -Editor: http://tools.vevb.com/tools/json/json_editor.htm
2. JSON -Datenstruktur
JSON hat zwei Datenstrukturen:
(1) Karte, auch als Objekt bekannt; {......}
(2) Array; [......]
Das heißt, alle JSON -Objekte sollten in diesen Formen dargestellt werden;
1.Map
Einfach ausgedrückt, es ist eine Karte in Java. Das Namenswertpaar wird angegeben, und der Name und der Wert werden durch ":" getrennt, und die beiden Karten werden durch "getrennt", und die allgemeine Darstellung lautet wie folgt:
{'key1': 'value1', 'key2': 'value2'}
Das Folgende ist das offizielle Bild -Bild:
2.Array
Es ist ein Array im gewöhnlichen Sinne mit der allgemeinen Form wie folgt:
['arr1', 'arr2', 'arr3'];
Das Folgende ist das offizielle Bild -Bild:
Der Wert in der Abbildung kann sein:
Zusammenfassen:
(1) In JSON gibt es nur zwei Arten von Datenstrukturen;
(2) es kann verschachtelt werden, wie z. B. Objekte im Array verschachtelt werden können;
(3) Denken Sie daran: Das Objekt wird durch {} dargestellt und Array wird durch [] dargestellt;
3. Beispiel für JSON- und XML -Konvertierung
Jeder oben erwähnte XML kann in JSON -Paket umgewandelt werden.
1. Einfacher XML
XML -Format:
<person> <name> xiazdong </name> <Age> 20 </age> </person>
JSON -Format:
{"Name": "Xiazdong", "Alter": 20}2. Komplex XML
XML -Format:
<section> <titels> Buch </title> <signing> <author name = "author-1"/> <book price = "$ 11"/> </signing> <signing> <autor name = "author-2"/> <book price = "$ 22"/> </signing> </§>
JSON -Format:
"Abschnitt": {"Titel": "Buch", "Signierung": [{<span style = "White-Space: PRE"> </span> "Autor": {"Name": "Autor-1"}, "Buch": {"Titel": "Buch", "Buch", "Preis": "$ 11"}, {Autor ". "Preis": "$ 22"}} <span style = "White-Space: PRE"> </span>]}}Hinweis: Die Eigenschaften in XML werden auch durch JSONs Karte dargestellt.
4. JSON -Paket
Wenn wir ein JSON -Paket verwenden möchten, können wir den Quellcode des JSON -Pakets herunterladen und diese Codes zum Eclipse -Projekt hinzufügen und es nennen.
Wenn Sie die API -Dokumentation sehen möchten, können Sie: http://www.json.org/java/index.html sehen
Die beiden am häufigsten verwendeten Klassen im JSON -Paket sind JsonObject und JSONArray, die jeweils zwei Datenstrukturen darstellen.
1. JsonObject Codeinstanz
Paket com.xiazdong.json; Import Weibo4j.org.json.jsonArray; Import Weibo4j.org.json.jsonObject; public class test {public static void main (String [] args) löst eine Ausnahme aus {jsonObject jsonObj = new JsonObject ("{'name': 'xiazdong', 'ay: 20}"); String name = jsonobj.getString ("Name"); int age = jsonobj.getint ("Alter"); System.out.println (Name+":"+älter); }}2. JsonArray Code Instanz
JsonArray Array = New JsonArray (String Str); // String in JsonArrayint Länge = Array.length () konvertieren; // die Länge des Arrays zurückgeben;
Paket com.xiazdong.json; Import Weibo4j.org.json.jsonArray; Import Weibo4j.org.json.jsonObject; public class test {public static void main (String [] args) löst eine Ausnahme aus {jsonArray jsonArray = new JsonArray ("[{'name': 'xiazdong', 'ay': 20}, {'name': 'xzdong', 'älter': 15}]"); für (int i = 0; i <jsonarray.length (); i ++) {String name = jsonArray.getJsonObject (i) .getString ("name"); int age = jsonArray.getJsonObject (i) .getInt ("Alter"); System.out.println ("name ="+name); System.out.println ("Age ="+Age); }}} 3.. Verschachtelte JsonObject und JsonArray Code Instances
Paket com.xiazdong.json; Import Weibo4j.org.json.jsonArray; Import Weibo4j.org.json.jsonObject; public class test {public static void main (String [] args) löst Ausnahme aus {String str = "{'name': 'xiazdong', 'ay': 20, 'book': ['book1', 'book2']"; JsonObject obj = new JsonObject (str); System.out.println (obj.getJsonArray ("Buch"). GetString (0)); }}4. Beispiel für Jserstringer -Code
JSonstringer kann verwendet werden, um schnell einen JSON -Formattext zu erstellen und ihn in eine Zeichenfolge umzuwandeln, die in eine Datei geschrieben werden kann.
Jserstringer ist eine Unterklasse von JsonWriter;
JSonstringer wird im Allgemeinen über Object (). Key (). Value (). Key (). Value (). EndObject () konstruiert;
Object () gibt an, dass ein Objekt gestartet wird, dh hinzugefügt, {;
EndObject () gibt an, dass ein Objekt beendet ist, dh hinzugefügt};
Array () zeigt an, dass ein Array gestartet wird, dh ein [;
Endarray () zeigt an, dass ein Array beendet ist, dh ein Hinzufügen eines];
Key () bedeutet hinzuzufügen, einen Schlüssel hinzuzufügen;
value () bedeutet, einen Wert hinzuzufügen;
Paket com.xiazdong.json; Import Weibo4j.org.json.jonstringer; public class jSonstringerdemo {public static void main (String [] args) löst eine Ausnahme aus {Jserstringer Stringer = new jSonstringer (); String Str = Stringer.Object (). Key ("Name"). Value ("xiazdong"). Key ("Alter"). Wert (20) .endObject (). ToString (); System.out.println (str); }} Komplexes JSON -Format schreiben
Paket com.xiazdong.json; Import Java.io.file; Import Java.io.Filereader; Import Weibo4j.org.json.jsonArray; Import Weibo4j.org.json.jsonObject; Import Weibo4j.org.json.jonstringer; Import Weibo4j.org.json.jonstringer; Import Weibo4j.org.json.jsontkener; public class JSonstringerdemo {public static void main (String [] args) löst eine Ausnahme aus {JSonstringer js = new Jserstringer (); JsonObject obj2 = new JsonObject (); JsonObject obj3 = new JsonObject (); JsonObject obj4 = new JsonObject (); obj4.put ("title", "book1"). put ("preis", "$ 11"); obj3.put ("Buch", obj4); obj3.put ("Autor", New JsonObject (). Put ("Name", "Autor-1")); JsonObject obj5 = new JsonObject (); JsonObject obj6 = new JsonObject (); obj6.put ("title", "book2"). put ("preis", "$ 22"); obj5.put ("Buch", obj6); obj5.put ("Autor", New JsonObject (). Put ("Name", "Autor-2"); JsonArray obj7 = new JsonArray (); obj7.put (obj3) .put (obj5); obj2.put ("title", "book"); obj2.put ("signieren", obj7); Js.Object (). Key ("Sitzung"). Wert (obj2) .endObject (); System.out.println (jsstring ()); Printwriter out = neuer printwriter (neuer FileOutputStream (1.txt)); out.println (js.tostring ()); }} Der obige Code generiert das folgende JSON -Format:
{"section":{ "title":"BOOK", "signing":[ { "author": { "name":"author-1" }, "book": { "title":"book1", "price":"$11" } }, { "author": { "name":"author-2" }, "book": { "title":"book2", "price":"$22" } } ]} }}5.JSONTOKEER -CODE -Beispiel
Jsontokener wird verwendet, um Dateien im JSON -Format zu lesen.
JsonObject obj = new JsonObject (New Jsontokener (java.io.reader)); Sie können ein JsonObject aus einer Datei lesen.
JsonArray Obj = New JsonArray (New JsonArray (java.io.reader)); Sie können einen JsonArray aus einer Datei lesen.
{'name': 'xiazdong', 'book': ['book', 'book2']} paket com.xiazdong.json; Import Java.io.file; Import Java.io.Filereader; Import Weibo4j.org.json.jsonObject; Import Weibo4j.org.json.jsontokener; public class JSONSONDERINGERDEMO {public static void main (String [] args) Ausläufe Ausnahme {jsonObject obj = new JsonObject (new jsonObject (new Jsontokener (New FileReader (New File ("1.TXT")); Lesecode im komplexen JSON -Format:
{"section":{ "title":"BOOK", "signing":[ { "author": { "name":"author-1" }, "book": { "title":"book1", "price":"$11" } }, { "author": { "name":"author-2" }, "book": { "title":"book2", "price":"$22" } } ]} }} Paket com.xiazdong.json; Import Java.io.file; Import Java.io.Filereader; Import Weibo4j.org.json.jsonObject; Import Weibo4j.org.json.jsontokener; public class JSonstringerdemo {public static void main (String [] args) löst eine Ausnahme aus {jsonObject obj = new JsonObject (new JsonObject (new Jsontokener (New FileReader (neue Datei ("1.Txt")); System.out.println (obj.getJsonObject ("Abschnitt"). GetJsonArray ("Signierung"). GetJsonObject (0) .getJsonObject ("Autor"). GetString ("Name");Zusammenfassen:
1 In Java ist die JSON -Format -String am besten in einzelnen Zitaten dargestellt.
2. Verwenden Sie JSONObject+Jsontokener, um JSON -Formatdateiobjekte zu lesen.
3.. Verwenden Sie den Pressewriter+JSONSONDERSER, um JSON -Dateien zu schreiben.
Hinweis: Da ich ursprünglich versuchen wollte, mit JSONWriter zu schreiben, war es aber nicht erfolgreich; Ich kann also nur JSONSONSCHERS+PRINKRIER zum Schreiben verwenden.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.