【问题标题】:Validate JSON string with regular expression in javascript [duplicate]在javascript中使用正则表达式验证JSON字符串[重复]
【发布时间】:2014-02-08 16:14:05
【问题描述】:

我在我的系统中从文本框中收到以下 JSON 字符串格式,我想知道是否有一种方法可以使用有效 JSON 字符串的正则表达式进行验证:

{
  "settings":{
    "user":"...",
    "pass":"..."
  },
  "data":[
    {
      "id":1,
      "field1":"...",
      "field2":"..."
    },
    {
      "id":2,
      "field1":"...",
      "field2":"..."
    }
  ]
}

感谢您的任何建议。

【问题讨论】:

  • 简单地验证某个东西是 json 是很蹩脚的,因为它不会告诉你任何关于数据的信息。这就像将整个表单贴花为有效,因为一个文本框不是空白的。解析和验证实际数据更安全、更可靠,而不仅仅是说“它看起来像是我想要的东西的形状”......

标签: javascript regex json validation


【解决方案1】:

您可以尝试直接解析它,而不是使用 RegEx:

function isValidJSON(string) {
  try {
    JSON.parse(string);
  } catch (e) {
    return false;
  }

  return true;
}

【讨论】:

  • 他说使用正则表达式。为什么你用 而不是使用 RegEx 来回答?为什么?
  • @RoyiNamir OP 也没有说明任何关于 try/catch 的内容。我相信正则表达式对于这项任务来说太过分了。我的回答没有用吗?
  • 他说使用正则表达式。此外,ie8 下不支持 JSON。此外,他应该有谷歌 - 它是重复的。
  • 我是这种情况下的新手,所以解决我的问题的答案很好,尽管这不是我所期望的。
猜你喜欢
  • 2020-09-16
  • 2014-04-23
  • 2018-11-25
  • 1970-01-01
  • 2020-08-12
  • 2012-10-07
  • 1970-01-01
相关资源
最近更新 更多