java - 如何通过 jackson 库比较两个 JSON 对象的结构(忽略值)?

标签 java json jackson

我使用库 org.codehaus.jackson。我有 2 个 JSON 对象。我从文件 hello.json 中读取的第一个对象。其次我自动生成。 第一:

{
  "name": "some value",
  "date": 1480971600000
}

第二个:

{
  "name": "some value",
  "date": 1480971600777
}

它们具有相同的结构,但 "date" 属性的值不同。我只想比较这些忽略值的对象的结构。我该怎么做?

最佳答案

如果您有固定的 JSON 格式集,那么最简单的方法是创建 JSON 模式并使用它进行验证。像这样的东西:

JsonNode data = JsonLoader.fromString(jsonData);
JsonNode schema = JsonLoader.fromString(jsonSchema);

JsonSchemaFactory factory = JsonSchemaFactory.byDefault();
JsonValidator validator = factory.getValidator();

ProcessingReport report = validator.validate(schema, data);

关于java - 如何通过 jackson 库比较两个 JSON 对象的结构(忽略值)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41011872/

相关文章:

java - Jackson 使用 Enum Key 和 POJO Value 反序列化为 Map

java - 让 JsonIgnore 或 JsonIgnoreProperties 在 servlet 过滤器上工作

javascript - 如何从基于 JSON 输入创建的数组中获取值?

jquery - JSON 响应不会附加到 div

java - jackson ,如何使用自定义名称反序列化字段?

java - 在 List<?> 中添加一个元素

java - 从 java List 对象创建 XML 的最有效方法

关于允许用户画线的 Java 挑战第 2 部分

java - 带有 java 集合的 OnSaveInstanceState/OnRestoreInstanceState

javascript 到 JSON 保存动态属性