【问题标题】:How to validate data inside the JSON file如何验证 JSON 文件中的数据
【发布时间】:2017-11-21 14:42:02
【问题描述】:

我正在尝试在 Java 中验证 JSON 文件中的数据。我使用 Jersey API 将 json 文件作为 JSONObject 获取。

JAVA:

@Path("/file")
public class UploadFile{

  @POST
  @Produces(MediaType.APPLICATION_JSON)
  @Consumes(MediaType.APPLICATION_JSON)
  public JSONObject uploadFileo(JSONObject inputJsonObj) throws Exception {
    validationJSON(inputJsonObj);
    return new JSONObject();
  }
}

JSON:

{
  "user":
    {"username":"Bob!","foo":"whatever","bar":"hello!"},

  "items": [
    {"id":1, "name":"one", "zim":"planet", "gir":"earth"},
    {"id":2, "name":"two", "zim":"planet", "gir":"mars"}
  ]
}

但现在我还没有找到最简单的解决方案。如果您有有趣的方法,如果您能告诉我这些方法,我将不胜感激。谢谢

【问题讨论】:

  • 为什么使用 json 而不是对象?泽西岛将自动映射
  • 因为我的 JSON 文件包含几个对象及其连接。
  • 您能否描述一个示例 json 以及您想要在其之上进行什么样的验证。这将有助于获得正确而简洁的答案
  • 使用 POJO 和 bean validation。这是首选方式

标签: java json jersey jackson


【解决方案1】:

您可以使用JSON Schema

您将验证规则写入模式文件(Json 格式),然后调用模式验证器。我使用的是这个Jackson based implementation。但是,它适用于 Jackson 的 JsonNode 而不是 JSONObject(我不知道它来自哪里)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-10
    • 2018-01-22
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    相关资源
    最近更新 更多