亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JSON 數據驗證失敗

JSON 數據驗證失敗

Helenr 2021-11-18 16:29:55
我沒有通過 JSON 數據驗證測試,我應該在其中創建一個具有名稱、員工 ID、經驗、公司和名稱屬性的 JSON 對象人員,并使用循環訪問它。我只是在學習 JSON,我認為問題在于它也需要 nodejs 的知識,這里是 json 文件 (data.json)'{"Name":"someName","EmployeeID":123,"Experience":123,"Company":"somecompany","Designation":"someDesignation"}'這是js文件:let jsonData = require('./data.json');let persons=JSON.parse('./data.json', jsonData);for(i in persons){    console.log(persons.i);}這是驗證文件:const Joi = require('joi');const fss =require('fs');const schema = Joi.object().keys({    Name: Joi.string().required(),    EmployeeID: Joi.number().required(),    Experience: Joi.number().required(),    Company: Joi.string().required(),    Designation: Joi.string().required()});const personSchema=Joi.object().keys({  persons:schema.required()}).required();var data;try{ data = require("./data.json");    }catch(e){ data={};}var XMLWriter = require('xml-writer');    xw = new XMLWriter;// You can also pass a callback which will be called synchronously with the validation result.Joi.validate(data, personSchema, function (err, value) {if(err==null){     console.log("JSON data is valid, Status: Passed");}else{    console.log("JSON data is invalid. Status: failed")}});我收到JSON 數據無效。狀態:失敗
查看完整描述

1 回答

?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

根據您需要創建的內容的描述,您似乎需要這些對象的 Array


所以,JSON 應該是


[{"Name":"someName","EmployeeID":123,"Experience":123,"Company":"somecompany","Designation":"someDesignation"}]

那么“JS”將是


let persons=require('./data.json');

for(let i in persons){

    console.log(persons[i]);

}

驗證器將是


const Joi = require('joi');

const fss = require('fs');


const schema = Joi.object().keys({

        Name: Joi.string().required(),

        EmployeeID: Joi.number().required(),

        Experience: Joi.number().required(),

        Company: Joi.string().required(),

        Designation: Joi.string().required()

    });


const personSchema = Joi.array().items(schema.required()).required();


var data;


try {

    data = require("./data.json");

} catch (e) {

    data = [];

}


var XMLWriter = require('xml-writer');

xw = new XMLWriter;


// You can also pass a callback which will be called synchronously with the validation result.

Joi.validate(data, personSchema, function (err, value) {

    if (err == null) {

        console.log("JSON data is valid, Status: Passed");

    } else {

        console.log(err, "JSON data is invalid. Status: failed")

    }


});

如果驗證器文件應該保持不變,那么 JSON 需要如下


{"persons":{"Name":"someName","EmployeeID":123,"Experience":123,"Company":"somecompany","Designation":"someDesignation"}}


查看完整回答
反對 回復 2021-11-18
  • 1 回答
  • 0 關注
  • 270 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號