Меня интересует выравнивание JSON с несколькими слоями вложенных массивов объектов.В идеале я хотел бы сделать это на Java, но кажется, что библиотека Pandas на python может быть хороша для этого.
Кто-нибудь знает хорошую Java-библиотеку для этого?
Я нашел эту статью ( Создание Pandas DataFrame из глубоко вложенного JSON ), используя pandas
и jq
и мое решение почти работает, но вывод, который я получаю, не совсем так, как ожидалось.Вот мой пример кода
json_data = '''{ "id": 1,
"things": [
{
"tId": 1,
"objs": [{"this": 99},{"this": 100}]
},
{
"tId": 2,
"objs": [{"this": 222},{"this": 22222}]
}
]
}'''
rule = """[{id: .id,
tid: .things[].tId,
this: .things[].objs[].this}]"""
out = jq(rule, _in=json_data).stdout
res = pd.DataFrame(json.loads(out))
Проблема в том, что вывод, который я получаю, таков:
id this tid
0 1 99 1
1 1 100 1
2 1 222 1
3 1 22222 1
4 1 99 2
5 1 100 2
6 1 222 2
7 1 22222 2
Я ожидаю увидеть
id this tid
0 1 99 1
1 1 100 1
3 1 222 2
4 1 22222 2
Любые советыо том, как заставить это работать, было бы отлично, различные решения или вариант Java!
Заранее спасибо!
Крейг