Домой Учебники по JSON Как Свести или Разблокировать Сложные объекты JSON в Плоскую и Картоподобную Структуру...

Как Свести или Разблокировать Сложные объекты JSON в Плоскую и Картоподобную Структуру в Java?

547
0

Содержание

Как десериализовать вложенный JSON в плоскую, похожую на карту структуру?

Пару дней назад у меня возник вопрос о том, как сгладить объект JSON, который может быть простым по сложности по структуре?

JsonFlattener это очень мощная утилита Maven точно для того же. Давайте посмотрим на пример.

Вам нужно импортировать ниже Maven Dependency к вашему проекту. Добавьте ниже в файл вашего проекта pom.xml .

Добавьте json-flattener в pom.xml

1
2
3
4
5
< зависимость >
< groupId > ком . Github . wnameless < / groupId >
< artifactId > jsonflattener < / artifactId >
< версия > 0.2.2 < / версия >
< / зависимость >

Если ты не видишь pom.xml файл в рабочую область Eclipse, так как у вас нет проекта maven, тогда вы можете просто скрыть свой проект maven проекта .

На side note : Приятно видеть статью Crunchify на странице результатов поиска Google

Давайте начнем

Шаг 1

  • Создать класс Java CrunchifyJSONFlattenerTutorial .Джава
  • Надеюсь, вы добавили выше json-flattener зависимость от вашего pom.xml файл

Шаг 2

Создать файл crunchify.txt и положить его под ~/Document папка, если вы находитесь на Macbook . Измените путь в соответствии с вашими потребностями.

crunchify.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
«Имя» : crunchify.com ,
«Автор» : App Shah ,
«Адрес» : Нью-Йорк ,
Услуги компании : [ {
«Сервис» : «Обзор SEO сайта» ,
«Ссылка» : https://pro.crunchify.com/#seo
} , {
«Сервис» : «Полный сервис дизайна сайта» ,
«Ссылка» : https://pro.crunchify.com/#full-design
} , {
«Сервис» : «Оптимизация и консультация WordPress» ,
«Ссылка» : https://pro.crunchify.com/#consultant
} ]
}

Мы будем читать файл crunchify.txt JSON в Java .

Шаг 3

Скопируйте код Java в ваш Eclipse:

CrunchifyJSONFlattenerTutorial.java

Джава
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
пакет crunchify. ком . учебные пособия ;
Импортировать Java. Ио. FileReader ;
Импортировать Java. Util. Карта ;
Импортировать орг. JSON . простой. JSONObject ;
Импортировать орг. JSON . простой. синтаксический анализатор. JSONParser ;
Импортировать ком . Github . безымянный . JSON . уплощения. JsonFlattener ;
Импортировать ком . Github . безымянный . JSON . unflattener. JsonUnflattener ;
/ **
* @author Crunchify.com
*
* /
общественности учебный класс CrunchifyJSONFlattenerTutorial {
общественности статический недействительным main ( Строка [ ] аргументы ) {
Парсер JSONParser знак равно новый JSONParser ( ) ;
пытаться {
// Поместить содержимое JSON выше в файл crunchify.txt и изменить путь к нему
объект OBJ знак равно синтаксический анализатор. разбор ( новый FileReader ( /Users/appshah/Documents/crunchify.txt ) ) ;
JSONObject jsonObject знак равно ( JSONObject ) объект ;
// JsonFlattener: утилита Java, используемая для FLATTEN вложенных объектов JSON
строка flattenedJson знак равно JsonFlattener . сплющить (JSONObject ToString ().);
log ( / n ===== Simple Flatten ===== / n + flatlinedJson ) ;
Карта < Строка , Объект > flattenedJsonMap знак равно JsonFlattener . flattenAsMap ( jsonObject . toString ( ) ) ;
log ( / n ===== Свести как карту ===== / n + flatlinedJson ) ;
// Мы используем цикл Java8 forEach. Больше информации: http://crunchify.me/1VIwm0l
flatlinedJsonMap . forEach ( ( k , v ) > журнал ( к + : + v ) ) ;
// Разблокируем его обратно в исходный JSON
строка nestedJson знак равно JsonUnflattener . unflatten (flattenedJson);
Система. вне. println ( / n ===== Развернуть его обратно в исходный JSON ===== / n + nestedJson ) ;
} ловить ( Исключение е ) {
эл . printStackTrace ( ) ;
}
}
частный статический недействительным log ( Строка flatлетJson ) {
Система. вне. println ( flatlinedJson ) ;
}
}

И это все. Просто запустите программу, и вы увидите Flatten а также Unflatten формат вашего JSONObject.

ЧИТАТЬ ТАКЖЕ:  Escape Character Utility для данных URL и JSON - не стесняйтесь использовать в своем проекте Java

Выход Eclipse Console:

Результат

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
===== Simple Flatten =====
{ Адрес : Нью-Йорк , Автор : App Shah , Услуги компании [0]. Сервис : Обзор сайта SEO , Услуги компании [0]. Ссылка : https: // //crunchify.com//services//site-seo-review-service// , Услуги компании [1] .Service : Полное обслуживание дизайна сайта , Услуги компании [1] .Link : https : ////crunchify.com//services//full-website-design-service// , Услуги компании [2] .Service : Оптимизация и консультации WordPress , Услуги компании [2] .Link : https:////crunchify.com//services//wordpress-optimization-service// , Name : crunchify.com }
===== Сгладить как Карта =====
{ Адрес : Нью-Йорк , Автор : App Shah , Услуги компании [0]. Сервис : Обзор сайта SEO , Услуги компании [0]. Ссылка : https: // //crunchify.com//services//site-seo-review-service// , Услуги компании [1] .Service : Полное обслуживание дизайна сайта , Услуги компании [1] .Link : https : ////crunchify.com//services//full-website-design-service// , Услуги компании [2] .Service : Оптимизация и консультации WordPress , Услуги компании [2] .Link : https:////crunchify.com//services//wordpress-optimization-service// , Name : crunchify.com }
Адрес : новый Йорк
автор : App Shah
Услуги компании [ 0 ] . обслуживание : Обзор SEO сайта
Услуги компании [ 0 ] . Ссылка на сайт : https : //pro.crunchify.com/#seo
Услуги компании [ 1 ] . обслуживание : Полный дизайн сайта Услуги
Услуги компании [ 1 ] . Ссылка на сайт : https : //pro.crunchify.com/#full-design
Услуги компании [ 2 ] . обслуживание : Оптимизация WordPress & Консультация
Услуги компании [ 2 ] . Ссылка на сайт : https : //pro.crunchify.com/#consultant
название : crunchify. ком
===== Unflatten его обратно оригинал JSON =====
{ Адрес : Нью-Йорк , Автор : App Shah , Услуги компании : [ { Сервис : Обзор SEO сайта , Ссылка : https://pro.crunchify.com / # seo } , { Сервис : Полный сервис дизайна веб-сайтов , Ссылка : https://pro.crunchify.com/#full-design } , { Сервис : Оптимизация и консультации WordPress , Ссылка : https://pro.crunchify.com/#consultant } ] , Имя : crunchify.com }
Как Свести или Разблокировать Сложные объекты JSON в Плоскую и Картоподобную Структуру в Java?

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь