У меня есть данные в формате JSON:
{
"orders":[
{
"id":"1",
"price":720,
"customers":[
{
"id":"10",
"name":"customer A"
},
{
"id":"14",
"name": "customer B"
}
]
},
{
"id":"2",
"price":68,
"customers":[
{
"id":"7",
"name":"customer X"
},
{
"id":"8",
"name":"customer Y"
}
]
}
]
}
Моя задача — просмотреть эти данные и создать таблицу со столбцами, например, orders.id
, orders.number
, orders.customers.id
и т. д. (и, конечно, с данными справа) и со всеми перестановками для вложенных объектов.
Итак, в этом случае я должен получить что-то вроде:
+-----------+--------------+---------------------+-----------------------+
| orders.id | orders.price | orders.customers.id | orders.customers.name |
+-----------+--------------+---------------------+-----------------------+
| 1 | 720 | 10 | customer A |
| 1 | 720 | 14 | customer B |
| 2 | 68 | 7 | customer X |
| 2 | 68 | 8 | customer Y |
+-----------+--------------+---------------------+-----------------------+
Основная проблема в том, что я не знаю структуру этого файла при его загрузке. Поэтому я не знаю тип, имя и количество атрибутов и уровень вложенности. Я не знаю, в каких классах я должен хранить данные.
Я попытался использовать это: https://stackoverflow.com/a/58009049/11846473, чтобы сгладить мой Json, но я не уверен, что это хорошая идея...
Я хотел бы использовать библиотеку Jaskson для этого. Не могли бы вы дать мне несколько советов?
byte[]
, поэтому я читаю его какObjectMapper mapper = new ObjectMapper();
JsonNode root = mapper.readTree(file);
Мне нужно сохранить свои результаты вList<Row>
, где каждая строка простаMap<String, String>
. Поскольку ключ - это имена столбцов, разделенных запятыми, а значение - это значения, разделенные запятыми, поэтому в моем случае, например (для первой строки):<"orders.id, orders.price, orders.customers.id, orders.customers.name", "1, 720, 10, customer A" >
- person mosiek   schedule 09.07.2020