json-schema-faker包括结果中的额外url

时间:2017-11-09 18:42:13

标签: javascript json

我正在设置json-schema-faker来为项目创建一些模拟数据。

当我生成数据时,它包含一个额外的位,以下是生成数据中的最后一项。

"id": "http://json-schema.org/schema#"

这是我的架构(来自名为'mockDataSchema.js'的文件):

exports.schema = {
  "type": "object",
  "properties": {
    "users": {
      "type": "array",
      "minItems": 2,
      "maxItems": 2,
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "unique": true,
            "minimum": 1
          },
          "firstName": {
            "type": "string",
            "faker": "name.firstName"
          },
          "lastName": {
            "type": "string",
            "faker": "name.lastName"
          },
          "email": {
            "type": "string",
            "faker": "internet.email"
          }
        },
        "required": ["id", "firstName", "lastName", "email"]
      }
    }
  },
  "required": ["users"]
}

生成数据的代码('generate-mock-data.js'):

var jsf = require('json-schema-faker')
var schema = require('./mockDataSchema')
var fs = require('fs')
var chalk = require('chalk')

const json = JSON.stringify(jsf(schema))
console.log(json)
fs.writeFile('./src/api/db.json', json, function(err) {
  if (err) {
    return console.log(chalk.red(err))
  } else {
    console.log(chalk.green('Mock data generated.'))
  }
})

添加返回的数据:

{
  "schema": {
    "users": [
      { "id": 25582343, "firstName": "Brycen", "lastName": "Dickens", "email": "Angelica_Jakubowski@hotmail.com" },
      { "id": 39817508, "firstName": "Marisa", "lastName": "Terry", "email": "Arlo.Hermann0@yahoo.com" }
    ]
  },
  "id": "http://json-schema.org/schema#"
}

我无法确定为什么它包含“id”:“http://json-schema.org/schema#

我想摆脱那条线。我将使用'json-server'来提供一个模拟api,它会在那条线路上窒息。

1 个答案:

答案 0 :(得分:0)

想出来了。

exports.schema = {

导致jscon-schema-faker将'.schema'解释为架构的一部分。

已更改为

module.exports = {

和尾随架构链接wnet away。