Как напечатать jsonpath для объекта json - PullRequest
0 голосов
/ 06 декабря 2018

Я ищу API Java, который печатает jsonpath для всех полей в объекте json.Моя первая часть требования выглядит так: для данного объекта json (или строки) -

{
"store": {
    "book": [
        {
            "category": "reference",
            "author": "Nigel Rees",
            "title": "Sayings of the Century",
            "price": 8.95
        },
        {
            "category": "fiction",
            "author": "Evelyn Waugh",
            "title": "Sword of Honour",
            "price": 12.99
        }
}

он должен печатать все свойства в ключ-значение, где ключ - это jsonpath поля.

вывод должен выглядеть примерно так -

$.store.book[0].category=reference
$.store.book[0].author=Nigel Rees
$.store.book[0].title=Sayings of the Century
$.store.book[0].price=8.95
$.store.book[1].category=fiction
$.store.book[1].author=Evelyn Waugh
$.store.book[1].title=Sword of Honour
$.store.book[1].price=12.99

и так далее.это будет использоваться для сопоставления значений из другого объекта json (мое второе требование).

Я нашел API https://github.com/json-path/JsonPath, который в некоторой степени соответствует 2-й части моего требования, но не имеет никакого вспомогательного метода или метода для получения JsonPath для объекта или поля.

Есть ли в jsonpath какой-либо java api или метод, где я могу получить jsonpath для данного поля в объекте json?

1 Ответ

0 голосов
/ 06 декабря 2018

Вы пытались использовать библиотеку gson, взгляните на com.google.gson.stream.JsonReader.getPath () Я думаю, это поможет вам в правильном направлении.

...