根据 JSON 规范化进行哈希处理时如何处理数组?

问题描述 投票:0回答:0

我正在尝试散列 JSON 对象以检查更改。我正在使用自定义 ObjectMapper:

public static final ObjectMapper mapper =
            new ObjectMapper().configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true)
                    .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
                    .configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true)
                    .configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true)
                    .configure(SerializationFeature.INDENT_OUTPUT, false)
                    .setSerializationInclusion(JsonInclude.Include.NON_EMPTY)
                    .enable(DeserializationFeature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT)
                    .setDateFormat(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ"))
                    .registerModule(new JavaTimeModule());

这似乎工作得很好,但显然不适用于 JSON 对象内部的数组。我的问题是如何在映射过程中处理数组以确保它们每次都保持相同的顺序?

java objectmapper canonicalization
© www.soinside.com 2019 - 2024. All rights reserved.