【问题标题】:Validating JSON string service-side验证 JSON 字符串服务端
【发布时间】:2015-06-26 06:41:41
【问题描述】:

如何在服务器端验证 JSON 字符串?假设我有一个从 UI 进来的 json。例如:

{
    "Name": "shivaji",
    "CoverageAmount": "1000$"
}

如果有人使用 Firebug 在浏览器上对其进行了编辑,我如何在服务器端对其进行验证?

【问题讨论】:

  • 您要验证什么?整个 JSON 还是其中的值?
  • 验证什么?您将编写一个检查正确性的规则。如果不知道您需要从数据中得到什么,就不可能知道如何去做。
  • 以上所有,您还应该添加您正在开发的语言/环境以及您已经尝试过的内容。
  • 您可以尝试在发送对象之前添加校验和(只是想法,而不是实现 - stackoverflow.com/questions/811195/…)并在服务器端重新检查它(当然,如果有人会篡改您的对象,也可以重新生成校验和,但至少它是某种东西)
  • 有人在春季从 UI 转换到服务器时篡改数据

标签: javascript java json


【解决方案1】:

请参考以下链接

How to make sure that string is Valid JSON using JSON.NET

这应该回答你的问题

【讨论】:

    【解决方案2】:

    只需使用ObjectMaper,并捕获异常。如果它引发异常,则您的 Json 无效。

    这是最简单的方法,几乎​​没有任何正则表达式可以给你这个。

    【讨论】:

      【解决方案3】:

      这取决于您使用的是什么服务器端语言?

      如果您使用的是 javascript 和 node,您可以像在浏览器中一样处理请求并使用 JSON.parse 解析,然后访问属性并从那里进行验证。

      您可能正在使用 php,获取 POST 正文并将 json 转换为 assoc 数组:

      $requestBody = file_get_contents('php://input');
      $data = json_decode($requestBody, true);
      

      【讨论】:

      • 我期待在 java 中
      • 不太喜欢 java 但我想有一种方法可以读取 http 请求并将字符串解析为 json 并从中获取和对象
      猜你喜欢
      • 2014-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多