微信小程序云开发导入json数据报错:导入数据库失败, Error: Poll error, 导入数据任务(id:528440)异常,错误信息:line 1, column 750: bare " in non-quoted-field

错误信息如下:

导入数据库失败, Error: Poll error, 导入数据任务(id:528440)异常,错误信息:line 1, column 750: bare " in non-quoted-field
导入数据库失败, Error: Poll error, 导入数据任务(id:528445)异常,错误信息:解析json文档错误,请检查导入文件格式,错误详情如下:invalid character , looking for beginning of value

技术图片

导入JSON格式的要求

1,JSON文件必须是 UTF-8 的编码格式,且其内容类似 MongoDB 的导出格式
2,JSON 数据不是数组,而是类似 JSON Lines,即各个记录对象之间使用 \n 分隔,而非逗号
3,JSON 数据每个键值对的键名首尾不能是 .,例如 “.a”、“abc.”,且不能包含多个连续的 .,例如 “a…b”
4,键名不能重复,且不能有歧义,例如 {“a”: 1, “a”: 2} 或 {“a”: {“b”: 1}, “a.b”: 2}
5,时间格式须为 ISODate 格式,例如 “date”: { “$date” : “2018-08-31T17:30:00.882Z” }

修改格式后重新导入才成功

  • 各个记录对象之间使用 \n 分隔,而非逗号
  • 去除最外层的[]
  { "ID":"27", "NAME":"艾薇", "VOICE":"Aiwei", "STATE":"0", "SEX":"1", "FLAG":"3" } { "ID":"28", "NAME":"艾宝", "VOICE":"Aibao", "STATE":"0", "SEX":"1", "FLAG":"3" }

数据库导入格式要求-官方文档

 

Node.js 把 JSON 数组转换成符合小程序的要求

const fs = require(‘fs‘); // 读取 json 数据let jsons = fs.readFileSync(‘./contents.json‘, ‘utf-8‘);jsons = JSON.parse(jsons); // 将 json 数组转换成字符串let str = ‘‘;for (const item of jsons) { // 必须使用 \n 换行区别每个记录 str += JSON.stringify(item) + "\n";} // 保存到本地fs.writeFileSync(‘./test2.json‘, str);

 

相关文章