gpt4 book ai didi

javascript - 在 Vue.js 中处理 JSON 文件后无效的 JSON 字符

转载 作者:行者123 更新时间:2023-11-30 14:02:37 25 4
gpt4 key购买 nike

我正在构建一个网络应用程序,我可以在其中上传 JSON 文件、更新它,然后下载它。输出 JSON 无效,因为某些字符在此过程中发生了更改。我不知道我哪里错了,因为即使我只上传 => 下载而不更新,JSON 仍然无效......

这是我读取上传的 JSON 的方式:

readFile: function () {
var reader = new FileReader();
reader.onload = function(event) {
this.json = JSON.parse(event.target.result);
}.bind(this);
reader.readAsText(this.file);
}

然后我可以编辑(或不编辑)json目的。然后我可以用 JSON.stringify(json) 下载它.

当我尝试读取或验证输出 JSON 时,我收到错误信号,表示无效字符,例如:

  • Invalid characters in string. Control characters must be escaped对于我的编辑器中的某些行。
  • UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xac in position X: invalid start byte当我尝试在 python 中加载它时 with open('output.json') as json_file: data = json.load(json_file)

是否使用 JSON.parse然后 JSON.stringify修改JSON的编码或结构?我怎样才能避免这种影响?

更新:

原始文件可以包含一些字符,例如 \u2013 , \u2014 , \u201d , \u00e7但这些字符在输出 JSON 中被转换为类似这样的字符或不可见字符,我猜这使其无效。

最佳答案

尝试将 'UTF-8' 作为第二个参数添加到 readAsText 函数中,如下所示:

   reader.readAsText(this.file,'UTF-8');

关于javascript - 在 Vue.js 中处理 JSON 文件后无效的 JSON 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56057182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com