Содержание
Это будет очень интересный урок. Иногда в вашем корпоративном Java-приложении вам приходится иметь дело с большим количеством данных JSON . Иногда у вас есть «Запись в файл», «Чтение из файла», правильное ведение журнала в хорошем формате Pretty и т. Д.
Вы когда-нибудь задумывались о Pretty-Print JSON на Java ? В этом уроке мы будем использовать javax.json
пакет и JsonGenerator
API для записи JSONObject в файл. Также мы будем использовать com.google.gson.Gson
чтобы подтвердить вывод JSON.
Вот шаги, которые мы собираемся выполнить:
- Создать класс
CrunchifyJsonGeneratorPrettyJSON.java
- Используйте JsonGenerator для создания JSONObject в Java и сохраните его по адресу /Users/appshah/Desktop/crunchifyJson.txt
- Прочитайте тот же JSON из файла
- Распечатать простой JSON на консоли Eclipse
- использование
crunchifyPrettyJSONUtility()
утилита для преобразования простого JSON в PrettyJSON — Преобразование строки JSON в Pretty Print (Java, Gson) - Распечатать тот же PrettyJSON на консоли
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
пакет crunchify. ком . учебные пособия ;
Импортировать Java. Ио. FileNotFoundException ;
Импортировать Java. Ио. FileReader ;
Импортировать Java. Ио. FileWriter ;
Импортировать Java. Ио. IOException ;
Импортировать javax. JSON . Джсон ;
Импортировать javax. JSON . поток. JsonGenerator ;
Импортировать орг. JSON . простой. синтаксический анализатор. JSONParser ;
Импортировать орг. JSON . простой. синтаксический анализатор. ParseException ;
Импортировать ком . Google. gson. Гсон ;
Импортировать ком . Google. gson. GsonBuilder ;
Импортировать ком . Google. gson. JsonObject ;
Импортировать ком . Google. gson. JsonParser ;
/ **
* @author Crunchify.com
* JsonGenerator и Pretty
* /
общественности учебный класс CrunchifyJsonGeneratorPrettyJSON {
общественности статический недействительным main ( Строка [ ] аргументы ) {
FileWriter писатель знак равно ноль ;
Парсер JSONParser знак равно новый JSONParser ( ) ;
объект simpleObj знак равно ноль ;
пытаться {
писатель знак равно новый FileWriter ( /Users/appshah/Desktop/crunchifyJson.txt ) ; // Изменить путь в соответствии с вашими потребностями
} ловить ( IOException е ) {
эл . printStackTrace ( ) ;
}
// JsonGenerator для создания JSONObject и сохранения его в указанном выше месте файла
Генератор JsonGenerator знак равно Json. createGenerator ( писатель ) ;
генератор
, writeStartObject ( ) . writeStartArray ( компания )
, writeStartObject ( )
, написать ( «имя» , Хруст )
, написать ( managedBy , App Shah )
, написать ( «адрес» , Нью-Йорк, США )
, writeStartObject ( поддержка )
, написать ( тип , WordPress )
, написать ( «статус» , активный )
, writeEnd ( )
, написать ( support_for , Плагины для WordPress )
, написать ( id , «24534-4324-6f3453-4234-w234234» )
, написать ( команда , 3 )
, writeEnd ( )
, writeStartObject ( )
, написать ( «имя» , Гугл )
, написать ( managedBy , Ларри Пейдж, Сергей Брин )
, написать ( «адрес» , Маунтин-Вью, США )
, writeStartObject ( поддержка )
, writeStartArray ( продукты )
, написать ( Gmail )
, написать ( Google+ )
, написать ( Драйв )
, написать ( + Lot More )
, writeEnd ( )
, написать ( «статус» , активный )
, writeEnd ( )
, написать ( support_for , Gmail, диск, Google + и многое другое )
, написать ( id , 3fwevwere-vwerfwevw-erw-vwe-efwfw )
, написать ( команда , 46000 )
, writeEnd ( )
, writeEnd ( )
, writeEnd ( ) ;
генератор . закрыть ( ) ;
пытаться {
simpleObj знак равно синтаксический анализатор. разбор ( новый FileReader ( /Users/appshah/Desktop/crunchifyJson.txt ) ) ;
} ловить ( FileNotFoundException е ) {
эл . printStackTrace ( ) ;
} ловить ( IOException е ) {
эл . printStackTrace ( ) ;
} ловить ( ParseException е ) {
эл . printStackTrace ( ) ;
}
Система. вне. println ( Простой результат JSON: / n + simpleObj . toString ( ) ) ;
строка prettyJson знак равно crunchifyPrettyJSONUtility ( simpleObj . toString ( ) ) ;
Система. вне. println ( / nPretty JSON Результат: / n + prettyJson ) ;
}
// Prettify JSON Utility
общественности статический строка crunchifyPrettyJSONUtility ( String simpleJSON ) {
JsonParser crunhifyParser знак равно новый JsonParser ( ) ;
JSONObject JSON знак равно crunhifyParser . разбирать ( simpleJSON ) . getAsJsonObject ( ) ;
Gson prettyGson знак равно новый GsonBuilder ( ) . setPrettyPrinting ( ) . создать ( ) ;
строка prettyJson знак равно PrettyGson . toJson (JSON);
вернуть prettyJson ;
}
}
|
Интерфейс JsonGenerator
записывает данные JSON в источник вывода потоковым способом. Класс Json содержит методы для создания генераторов для символьных или выходных потоков .
Gson
библиотека Java, которая может использоваться для преобразования объектов Java в их представление JSON. Его также можно использовать для преобразования строки JSON в эквивалентный объект Java . Другими словами, это java api для учебника по обработке json, java api для обработки json maven, пример java api для обработки json и так далее.
Вам нужно менее двух зависимостей Maven, чтобы это работало.
1
2
3
4
5
|
< зависимость >
< groupId > org . стеклянная рыба < / groupId >
< artifactId > javax . JSON < / artifactId >
< версия > 1.0.4 < / версия >
< / зависимость >
|
1
2
3
4
5
|
< зависимость >
< groupId > ком . Google. код. gson < / groupId >
< artifactId > gson < / artifactId >
< версия > 2.3 < / версия >
< / зависимость >
|
Вот результат:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
Простой результат в формате JSON :
{ company : [ { id : 24534-4324-6f3453-4234-w234234 , support : { status : active , type : wordpress } , address : Нью-Йорк, США , name : Crunchify , managedBy : App Shah , team : 3 , support_for : Плагины WordPress } , { id : 3fwevwere-vwerfwevw- erw-vwe-efwfw , support : { status : active , products : [ Gmail , Google+ , Drive , + Lot More ] } , address : Mountain View, US , name : Google , managedBy : Ларри Пейдж, Сергей Брин , team : 46000 , support_for : gmail, drive, google + и многие другие } ] }
Довольно JSON Результат :
{
компания : [
{
id : «24534-4324-6f3453-4234-w234234» ,
«поддержка» : {
«статус» : активный ,
тип : WordPress
} ,
адрес : Нью-Йорк, США ,
имя : Хруст ,
managedBy : App Shah ,
«команда» : «3» ,
support_for : Плагины для WordPress
} ,
{
id : 3fwevwere-vwerfwevw-erw-vwe-efwfw ,
«поддержка» : {
«статус» : активный ,
продукты : [
Gmail ,
Google+ ,
Драйв ,
+ Lot More
]
} ,
адрес : Маунтин-Вью, США ,
имя : Google ,
managedBy : Ларри Пейдж, Сергей Брин ,
«команда» : 46000 ,
support_for : Gmail, диск, Google + и многое другое
}
]
}
|
0.00 (0%) 0 votes