#java #jsonpath #jsonparser
Вопрос:
У меня ниже json, я пытаюсь извлечь 1-е атрибуты из каждого узла, используя JSONPath.
{ "data": {
"unpredictable_name_1": {
"inner_data": [
{
"wanted_data": "something1",
"other_data": 1000
},
{
"wanted_data": "something2",
"other_data": 1001
}
],
"something_else_1": "some_data"
},
"unpredictable_name_2": {
"inner_data": [
{
"wanted_data": "something1",
"other_data": 1000
},
{
"wanted_data": "something2",
"other_data": 1001
}
]
} } }
Я хочу извлечь ниже :
{
unpredictable_name_1,
unpredictable_name_2
}
Я использую путь jway-json. Пожалуйста, помогите мне с выражением JSONPath.
Комментарии:
1. В не уверен насчет конкретной библиотеки, но путь JSON не поддерживал получение ключей, только значений.
Ответ №1:
Этот код помог мне получить только все атрибуты json —
JsonParser parser = new JsonParser();
JsonElement element = parser.parse(jsonStr);
JsonObject obj = element.getAsJsonObject();
Set<Map.Entry<String, JsonElement>> entries = obj.entrySet();
for(Map.Entry<String, JsonElement> entry: entries) {
System.out.println(entry.getKey());
}
Благодаря учебным пособиям Пойнт