【发布时间】:2020-06-02 10:54:09
【问题描述】:
好的,我希望响应是纯字符串,而不是 JSON。
例如。这个对象
let obj = {
foo: 'bar',
baz: 1
}
应该返回
"{foo: 'bar', baz: 1}"
代替
{"foo": "bar", "baz": 1}
为什么?我需要将字符串用作quickchart中的链接
<img src="https://quickchart.io/chart?c={type:'line',data:{labels:['January','February', 'March','April', 'May'], datasets:[{label:'Dogs', data: [50,60,70,180,190], fill:false,borderColor:'blue'},{label:'Cats', data:[100,200,300,400,500], fill:false,borderColor:'green'}]}}">
JSON 中的双引号会断开图片链接。
或者,也许建议一个更好的方法。
【问题讨论】:
-
JSON 始终是一个字符串(
"{foo: 'bar', baz: 1}"不是 JSON) -
编写你自己的序列化器,如果你的对象属性值只是字符串和数字,这并不难。
-
@Andreas — 但不是 OP 要求的格式的字符串。
"{foo: 'bar', baz: 1}",正如您所说,不是 JSON,而是 OP 想要的。 -
尝试使用 encodeURIComponent(JSON.stringify(obj))。确保响应类型为“纯文本”
标签: javascript html node.js json object