Будьте уверены: лучший метод десериализации - PullRequest
0 голосов
/ 21 февраля 2020

Я нашел много способов десериализации JSON. Мой вопрос, что является лучшим / самым быстрым? В чем разница между ними?

Учитывая JSON ниже:

[
    {
        "id": 2,
        "name": "An ice sculpture",
        "price": 12.5,
        "tags": [
            "cold",
            "ice"
        ],
        "dimensions": {
            "length": 7.0,
            "width": 12.0,
            "height": 9.5
        },
        "warehouseLocation": {
            "latitude": -78.75,
            "longitude": 20.4
        }
    },
    {
        "id": 3,
        "name": "A blue mouse",
        "price": 25.5,
        "dimensions": {
            "length": 3.1,
            "width": 1.0,
            "height": 1.0
        },
        "warehouseLocation": {
            "latitude": 54.4,
            "longitude": -32.7
        }
    }
]

Метод 1:

MyPOJOClass[] desPojo = resp.getBody().as(MyPOJOClass[].class);

Метод 2:

JsonPath jp = new JsonPath(resp.asString());

Метод 3:

ObjectMapper objectMapper = new ObjectMapper();
List<MyPOJOClass> list1 = objectMapper.readValue(resp.getBody().asString(), objectMapper.getTypeFactory().constructCollectionType(List.class, MyPOJOClass.class));

Метод 4:

List<MyPOJOClass> list2 = resp.getBody().jsonPath().getList(".", MyPOJOClass.class);

Метод 5:

List<MyPOJOClass> list3 = Arrays.asList(resp.getBody().as(MyPOJOClass[].class));

Спасибо

...