如何将javascript JSON Schema运行到JSON文件

时间:2015-12-18 22:41:52

标签: javascript jquery json node.js

我是Javascript和JSON Schema的新手,我有一个问题如何让它运行...我创建了一个Schema,我有一个JSON Schema验证器here和一个JSON对象。我被告知要编写一个Javascript函数,它接受一个JSON模式和一些JSON,然后返回验证是否成功(如果没有,哪个键有问题)。

我不知道我是否可以使用控制台在HTML上测试它(只需使用模式,JSON对象和函数调用.js文件),如果我必须将node.js用于此类型使用JSON或...的任务到目前为止我已经安装了lib并且我已经创建了一个HTML来“测试”它;但控制台上的错误不适合无效的架构或其他东西。有人可以给我一些指导吗?谢谢!

<!DOCTYPE html>
<html lang="es">
  <head>
    <meta charset="UTF-8"> 
    <title></title>

  </head>
  <body>

    <script type="text/javascript" src="schema.js"></script>
  </body>
</html>

3 个答案:

答案 0 :(得分:1)

要运行一些快速测试,阻力最小的路径是a)在您的Web控制台中运行它(例如在Chrome中打开开发人员工具)或b)创建一个文件(例如,&#39; test.js& #39;)并在命令行上运行node test.js

var testSchema = {
  name: {
    type: 'string'
  },
  age: {
    type: 'number'
  }
};

var testData = {
  name: 'john',
  age: 47
};

function checkAgainstSchema(data, schema) {
  return Object.keys(data).every(function(key) {
    return typeof testData[key] === schema[key].type;
  });
}

checkAgainstSchema(testData, testSchema); // => true

很难提供比您在问题中提供的信息量有限的信息更多的信息。也许上面的内容会给你一些启动。

仅供参考,上述内容并不是您所要求的强有力的实施方式,而只是您所要求的一个简单示例。

答案 1 :(得分:1)

你也可以使用tonicdev.com来玩你曾经使用的ajv(或任何其他npm包)。

答案 2 :(得分:0)

有一个模块可以根据JSON模式解析和验证JSON数据:tv4。如果您正在使用node.js,则可通过

获取
npm install tv4