繁体   English   中英

JavaScript 中的 JSON 对象验证

[英]JSON Object validation in JavaScript

我使用 JSON 对象作为文本字段中的输入。 有没有办法在 JavaScript 中验证这个 JSON 对象?

基于@Quentin 的想法,您可以执行以下操作:

function isValidJson(json) {
    try {
        JSON.parse(json);
        return true;
    } catch (e) {
        return false;
    }
}

console.log(isValidJson("{}")); // true
console.log(isValidJson("abc")); // false

这将需要在页面中部署json2.js以确保对JSON Object跨浏览器支持。

如果您希望将对象验证为某个模式,您可以尝试JSD Validator

这是对我有用的代码,

$scope.jsonFunc = function(json){
        try {
            $scope.jsonData = JSON.stringify(JSON.parse(json), null, 2);
            return true;
            $scope.errorMessage = "Valid JSON";
        } catch (e) {
            $scope.errorMessage = e.message;
            return false;
        }
}

通过 JSON 解析器(如果您没有使用内置库,则为 json2.js)运行它,看看是否能取回数据。

是的,有很多 JSON 库可供您使用。

使用 Java 时试试这些:

或者,如果您更喜欢简单的 JavaScript,则可以使用

David Walsh在以下博客http://davidwalsh.name/json-validation 中给出了如何使用 Mootools、JSON Schema 在 javascript 中执行此操作的完整示例。 搏一搏。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM