【问题标题】:Java JSONPARSER, validate JSON (before or after parsing)Java JSONPARSER,验证 JSON(解析前或解析后)
【发布时间】:2011-06-07 22:03:01
【问题描述】:

我想验证传入的 JSON,目前该方法没有解析 JSON,错误的 json 会继续破坏一切,我想安全漏洞也可以内置到错误的 JSON 字符串中。

JsonParser parser = new JsonParser();
JsonObject bodyvar = parser.parse(params.get("body")).getAsJsonObject();

如何检查是否验证 JSON? (理想情况下我可以得到一个布尔值或返回 1 或 0,所以我可以有条件地构造这个方法。或者如果 JSONParser 附带一个 try/catch 进行验证,那也很酷)

编辑:使用 GSON 库(我将在此处等待答案时查看 GSON 参考)

【问题讨论】:

    标签: java validation json


    【解决方案1】:

    如果不知道您使用的是哪个库,很难具体说明,但如果 JSON 格式错误,大多数解析库都会抛出异常,因此您不必担心 JSON 会破坏任何内容别的。如果你只是在对parser.parse() 的调用周围抛出一个try/catch 块,你可能会处于非常好的状态。

    而且 JSON 不会真正损害服务器端的任何东西,因此除非您打算将此 JSON 字符串从一个用户的浏览器传递到另一个用户的浏览器,否则无论如何您不会有任何安全漏洞。

    编辑

    由于您使用的是 gson,如果 JSON 格式错误,将抛出 JsonSyntaxException。如果您想在这种情况下做一些不同的事情,您可以专门捕获该异常。

    【讨论】:

      猜你喜欢
      • 2015-09-28
      • 2012-04-20
      • 1970-01-01
      • 2017-02-20
      • 1970-01-01
      • 1970-01-01
      • 2020-08-16
      • 1970-01-01
      • 2016-11-26
      相关资源
      最近更新 更多