世界那么好,机会那么多

这里除了干货,什么都没有

微信小程序云开发导入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);

 

posted @ 2020-03-07 01:44  面向对象爱好者社区  阅读(5199)  评论(0编辑  收藏  举报