Jackson 在两个位置反序列化与反序列化整个位置的性能 json
Jackson performance of deserializing at two locations vs deserializing whole json
不知道Jackson是怎么反序列化的。我有一个 JSON 并且只需要某些部分。
ObjectMapper mapper = new ObjectMapper();
性能如何变化:
mapper.readerFor(Integer.class).at("/code").readValue(inputStream);
mapper.reset();
mapper.readerFor(MyClass[].class).at("/level1/level2").readValue(inputStream);
对
阅读全文JSON:
mapper.readValue(inputStream, Map.class);
由于 JSON 对象中的键顺序不固定,因此无法知道输入流中所需键的位置。
在最坏的情况下,如果所需的键是最后一个,则必须解析整个流。平均而言,读取单个密钥时可能会提高性能,但基准测试是找出您正在使用的数据的可靠方法。
不知道Jackson是怎么反序列化的。我有一个 JSON 并且只需要某些部分。
ObjectMapper mapper = new ObjectMapper();
性能如何变化:
mapper.readerFor(Integer.class).at("/code").readValue(inputStream);
mapper.reset();
mapper.readerFor(MyClass[].class).at("/level1/level2").readValue(inputStream);
对
阅读全文JSON:
mapper.readValue(inputStream, Map.class);
由于 JSON 对象中的键顺序不固定,因此无法知道输入流中所需键的位置。
在最坏的情况下,如果所需的键是最后一个,则必须解析整个流。平均而言,读取单个密钥时可能会提高性能,但基准测试是找出您正在使用的数据的可靠方法。