1. Введение в JSON
JSON (нотация объекта JavaScript), аналогичная XML, является форматом обмена данными. Например, если Java генерирует данные в JavaScript, в дополнение к использованию XML, вы также можете использовать JSON;
Преимущество JSON над XML заключается в том, что он очень просто выразить; Официальный веб -сайт: http://www.json.org/
JSON - это x в Ajax (то есть он может заменить XML); ------ от основателя JSON;
Примечание: JSON не является форматом документа, нет документов. Как правило, документы формата JSON находятся в TXT, а XML может быть стандартом;
Онлайн -редактор JSON: http://tools.vevb.com/tools/json/json_editor.htm
2. Структура данных JSON
У JSON есть две структуры данных:
(1) карта, также известная как объект; {......}
(2) массив; [......]
То есть все объекты JSON должны быть представлены в этих формах;
1. Map
Проще говоря, это карта на Java. Дается пара имен-стоимости, а имя и значение разделены «:», а две карты разделены «», и общее представление выглядит следующим образом:
{'key1': 'value1', 'key2': 'value2'}
Ниже приводится официальная картина веб -сайта:
2. Орей
Это массив в обычном смысле, с общей формой следующим образом:
['arr1', 'arr2', 'arr3'];
Ниже приводится официальная картина веб -сайта:
Значение на рисунке может быть:
Суммировать:
(1) в JSON существует только два типа структур данных;
(2) это может быть вложено, например, объекты могут быть вложены в массив;
(3) помните: объект представлен {}, а массив представлен [];
3. Пример преобразования JSON и XML
Любой XML, упомянутый выше, может быть преобразован в пакет JSON;
1. Простой XML
Формат XML:
<derns> <mame> xiazdong </name> <aster> 20 </age> </person>
Формат json:
{"name": "xiazdong", "Age": 20}2. Комплекс XML
Формат XML:
<section> <title> book </title> <ginding> <Автор name = "Author-1"/> <book price = "$ 11"/> </Подписать> <Подписание> <Автор name = "Автор-2"/> <книга цена = "$ 22"/> </Подписать> </section>
Формат json:
«Раздел»: {«Название»: «Книга», «Подписание»: [{<span style = "Белое пространство: pre"> </span> "Автор": {"name": "Автор-1"}, "книга": {"Название": "Book1", "Price": "$ 11"}, {"Автор": {"": "Автор-2": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": ":": " "Price": "$ 22"}} <span style = "Белое пространство: pre"> </span>]}}Примечание: свойства в XML также представлены картой JSON;
4. JSON Package
Если мы хотим использовать пакет JSON, мы можем загрузить исходный код пакета JSON, добавить эти коды в проект Eclipse и позвонить в него;
Если вы хотите увидеть документацию API, вы можете увидеть: http://www.json.org/java/index.html
Двумя наиболее часто используемыми классами в пакете JSON являются jsonObject и jsonarray, которые представляют две структуры данных соответственно;
1. Экземпляр кода jsonObject
пакет com.xiazdong.json; Импорт weibo4j.org.json.jsonarray; Импорт weibo4j.org.json.jsonobject; открытый тест класса {public static void main (string [] args) выбрасывает исключение {jsonObject jsonObj = new jsonObject ("{'name': 'xiazdong', 'Age': 20}"); String name = jsonobj.getString ("name"); int age = jsonobj.getint ("Возраст"); System.out.println (name+":"+age); }}2. Экземпляр кода jsonarray
Jsonarray array = new jsonarray (string str); // преобразовать строку в jsonarrayint length = array.length (); // вернуть длину массива;
пакет com.xiazdong.json; Импорт weibo4j.org.json.jsonarray; Импорт weibo4j.org.json.jsonobject; открытый тест класса {public static void main (string [] args) выбрасывает исключение {jsonarray jsonarray = new jsonarray ("[{'name': 'xiazdong', 'age': 20}, {'name': 'xzdong', 'age': 15}]"); for (int i = 0; i <jsonarray.length (); i ++) {string name = jsonarray.getjsonObject (i) .getString ("name"); int age = jsonarray.getjsonObject (i) .getInt ("AGE"); System.out.println ("name ="+name); System.out.println ("age ="+age); }}} 3. Вложенные экземпляры кода jsonObject и jsonarray
пакет com.xiazdong.json; Импорт weibo4j.org.json.jsonarray; Импорт weibo4j.org.json.jsonobject; открытый тест класса {public static void main (string [] args) выбрасывает исключение {string str = "{'name': 'xiazdong', 'age': 20, 'book': ['book1', 'book2']"; JsonObject obj = new jsonObject (str); System.out.println (obj.getjsonarray ("book"). GetString (0)); }}4. Пример кода Jsonstringer
Jsonstringer может быть использован для быстрого создания текста формата JSON и преобразования его в строку, которая может быть записана в файл;
Jsonstringer - это подкласс JsonWriter;
JSonstringer обычно строится через Object (). Key (). Value (). Key (). Value (). EndObject ();
Object () указывает, что объект запускается, то есть добавление {;
EndoBject () указывает, что объект прекращен, то есть добавление};
Array () указывает, что запускается массив, то есть добавление [;
Endarray () указывает, что массив закончится, то есть добавление одного];
key () означает добавление ключа;
value () означает добавление значения;
пакет com.xiazdong.json; Импорт weibo4j.org.json.jsonstringer; открытый класс jsonstringerdemo {public static void main (String [] args) бросает исключение {jsonstringer stringer = new jsonstringer (); String str = stringer.object (). Key ("name"). Value ("xiazdong"). Key ("age"). Value (20) .endobject (). ToString (); System.out.println (str); }} Сложное написание формата json
пакет com.xiazdong.json; Импорт java.io.file; Импорт java.io.filereader; Импорт weibo4j.org.json.jsonarray; Импорт weibo4j.org.json.jsonobject; Импорт weibo4j.org.json.jsonstringer; Импорт weibo4j.org.json.jsonstringer; Импорт weibo4j.org.json.jsontkener; открытый класс jsonstringerdemo {public static void main (String [] args) бросает исключение {jsonstringer js = new jsonstringer (); JsonObject obj2 = new jsonObject (); JsonObject obj3 = new jsonObject (); JsonObject obj4 = new jsonObject (); obj4.put ("Title", "Book1"). PUT ("Price", "$ 11"); obj3.put («книга», obj4); obj3.put («Автор», новый jsonObject (). PUT («Имя», «Автор-1»)); JsonObject obj5 = new jsonObject (); JsonObject obj6 = new jsonObject (); obj6.put ("Title", "Book2"). PUT ("Price", "$ 22"); obj5.put ("book", obj6); obj5.put («Автор», новый jsonObject (). PUT («Имя», «Автор-2»)); Jsonarray obj7 = new jsonarray (); obj7.put (obj3) .put (obj5); obj2.put ("название", "книга"); obj2.put («Подписание», OBJ7); js.object (). key ("session"). value (obj2) .endobject (); System.out.println (js.tostring ()); Printwriter out = new PrintWriter (New FileOutputStream (1.txt)); out.println (js.tostring ()); }} Приведенный выше код генерирует следующий формат JSON:
{"Раздел": {"title": "Book", "Подписание": [{"Автор": {"имя": "Автор-1"}, "книга": {"название": "book1", "цена": "$ 11"}}, {"Автор": {"name": "Автор-2"}, "книга": {"": ",", ",", "," $ ",« $ 22 }}5.jsontokener пример кода
JSontokener используется для чтения файлов в формате JSON;
JsonObject obj = new jsonObject (новый jsontokener (java.io.reader)); Вы можете прочитать jsonObject из файла;
Jsonarray obj = new jsonarray (new jsonarray (java.io.reader)); Вы можете прочитать jsonarray из файла;
{'name': 'xiazdong', 'book': ['book1', 'book2']} пакет com.xiazdong.json; Импорт java.io.file; Импорт java.io.filereader; Импорт weibo4j.org.json.jsonobject; Импорт weibo4j.org.json.jsontokener; Public Class JsonstringerDemo {public static void main (string [] args) выбрасывает исключение {jsonObject obj = new jsonObject (new jsonObject (new jsontokener (новый FileReader (новый файл ("1.txt"))); System.out.println (obj.getjsonarray ("book"))); 1 -й. Чтение кода в комплексном формате JSON:
{"Раздел": {"title": "Book", "Подписание": [{"Автор": {"имя": "Автор-1"}, "книга": {"название": "book1", "цена": "$ 11"}}, {"Автор": {"name": "Автор-2"}, "книга": {"": ",", ",", "," $ ",« $ 22 }} пакет com.xiazdong.json; Импорт java.io.file; Импорт java.io.filereader; Импорт weibo4j.org.json.jsonobject; Импорт weibo4j.org.json.jsontokener; открытый класс jsonstringerdemo {public static void main (string [] args) выбрасывает исключение {jsonObject obj = new jsonObject (new jsonObject (new jsontokener (new FileReader (new File ("1.txt")))); System.out.println (obj.getJsonObject («Раздел»). GetJsonArray («Подписание»). GetJsonObject (0) .getJsonObject ("Автор"). GetString ("name"));Суммировать:
1 В Java строка формата JSON лучше всего представлена в одиночных кавычках;
2. Используйте JsonObject+JSontokener для чтения объектов файла формата JSON;
3. Используйте PrintWriter+JSonstringer, чтобы написать файлы JSON;
Примечание: так как я изначально хотел попытаться написать с JsonWriter, но это не было успешным; Так что я могу использовать только JSonstringer+PrintWriter для написания;
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.