【问题标题】:How to compare only structure (ignore values) of two JSON objects by jackson library?如何通过杰克逊库仅比较两个 JSON 对象的结构(忽略值)?
【发布时间】:2016-12-07 07:42:57
【问题描述】:

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

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

第二:

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

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

【问题讨论】:

    标签: java json jackson


    【解决方案1】:

    如果您有一组固定的 JSON 格式,那么最简单的方法是创建 JSON Schema 并使用它进行验证。比如:

    JsonNode data = JsonLoader.fromString(jsonData);
    JsonNode schema = JsonLoader.fromString(jsonSchema);
    
    JsonSchemaFactory factory = JsonSchemaFactory.byDefault();
    JsonValidator validator = factory.getValidator();
    
    ProcessingReport report = validator.validate(schema, data);
    

    【讨论】:

    • 什么是jsonData?什么是 jsonSchema?请举个例子
    猜你喜欢
    • 2022-06-22
    • 1970-01-01
    • 1970-01-01
    • 2014-07-12
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    • 2016-06-06
    相关资源
    最近更新 更多