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

Javascript 如何防止在编写序列化json时删除空格,javascript,Javascript,我正在尝试将序列化的json数据写入该文件。我使用的是application/octet-stream,但当我运行代码时,它会删除所有空格(甚至在字符串中)。我如何避免这种情况 const link = document.createElement("a") link.download = "file.json" link.href = "data:application/octet-stream," + content link.click() 您可以将内容编码为base64,如 data:

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

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

您可以将
内容
编码为base64,如

data:application/octet-stream;base64,eyJhIiA6ICJoZWxsbyB3b3JsZCJ9
                             ^-----^ Notice this

它解码为保留空格。

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

var content=`Morgan Freeman`
const link=document.createElement(“a”)
link.download=“file.json”
link.href=“数据:应用程序/八位字节流,”+encodeURI(内容)

link.click()
我在电话中询问过,所以如果有人编辑了问题,我会通知你,空格不重要。你为什么在乎?你想把它打印出来?像纸上写的?嗯,总是有
它还删除了内联空格,使句子不可读。我的意思是我想为客户端制作可下载的内容,这样做很有效!谢谢你,伙计,我可以问个问题吗。encodeURL是如何改变的?@TeomanTıngır,很高兴它能起作用,更新了我的文章,并引用了link@TeomanTıngır,因为空格不是URI中的有效字符,而且浏览器“友好”到可以为您删除它