我有一个名为的 javascript 对象blocki
,我想使用 REST API 对其进行序列化和更新。所以我打电话:
JSON.stringify(blocki)
这给了我这个字符串:
"{"name":"Updated Blocki","bounds":{"x":"2em","y":"2em","w":"8em","h":"12em"}}"
这几乎是我需要的,除了双引号字符串应该在外面有单引号,就像这样:
'{"name":"Updated Blocki","bounds":{"x":"2em","y":"2em","w":"8em","h":"12em"}}'
根据MDN JSON.stringify上的示例,它应该返回一个用单引号括起来的字符串。但是当我在该页面中尝试相同的示例时,我得到了用双引号括起来的字符串。例如,当我输入JSON.stringify({})
Firefox 和 chrome 控制台时,我返回"{}"
而不是'{}'
.
如何正确序列化我的 Javascript 对象,以便外部引号是:'
。同样,这个字符串是我想要实现的一个例子:
'{"name":"Updated Blocki","bounds":{"x":"2em","y":"2em","w":"8em","h":"12em"}}'
理想情况下,我想学习一种序列化对象的好方法,而不必在序列化后修改字符串。
编辑:我认为我需要这样做的原因是,当字符串用双引号引起来时,我正在使用的 API 不知何故不高兴。例如,当我这样做时
curl -i -H "Accept: application/json" -H "Content-type: application/json" -X PUT -d "{"name":"Updated Blocki","bounds":{"x":"2em","y":"2em","w":"8em","h":"12em"}}" 'http://localhost:3000/api/blockies/17'
请求失败,服务器给出解析错误。但是,当我尝试:
curl -i -H "Accept: application/json" -H "Content-type: application/json" -X PUT -d '{"name":"Updated Blocki","bounds":{"x":"2em","y":"2em","w":"8em","h":"12em"}}' 'http://localhost:3000/api/blockies/17'
put 请求成功通过并更新对象。