javascript - 如何在编写序列化 json 时防止删除空格

标签 javascript

我正在尝试将序列化的 json 数据写入文件。我正在使用 application/octet-stream 但是当我运行代码时,它会删除所有空格(甚至在字符串中)。我该如何避免这种情况?

const link = document.createElement("a")
link.download = "file.json"
link.href = "data:application/octet-stream," + content
link.click()

最佳答案

为了达到预期的效果,使用encodeURI保留空格

var content = `Morgan Freeman`
const link = document.createElement("a")
link.download = "file.json"
link.href = "data:application/octet-stream," + encodeURI(content)
link.click()

codepen - https://codepen.io/nagasai/pen/NVwgKg?editors=1010

encodeURI 将转义序列添加到空格并在那里保留空格

用 %20 替换空格,即 Morgan%20Freeman

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI

关于javascript - 如何在编写序列化 json 时防止删除空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56241451/

相关文章:

javascript - 在我的情况下如何获取 json 数据?

javascript - 我怎样才能遍历这个Javascript对象?

javascript - 错误错误 : Uncaught (in promise): TypeError: Cannot set property 'devices' of undefined in ionic 4 Angular

javascript - Bootstrap 4 表单验证

javascript - 从 div javascript 获取边距

javascript - 从链接打开页面而不是导航到页面时是否可以隐藏 div?

javascript - 创建具有动态值的 JS 数组

javascript - 从 Javascript 中的一系列字符中检测一个 unicode 字符(汉字)?

javascript - 如何从 ES6 类的静态方法返回非静态变量

javascript - 在已经完全加载的 Controller 之后加载 AngularJS 指令