gpt4 book ai didi

javascript - 通过 Node Express 将对象作为字符串而不是 JSON 发送

转载 作者:行者123 更新时间:2023-12-03 16:26:44 24 4
gpt4 key购买 nike

好的,我希望响应是纯字符串,而不是 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 中的双引号会断开图像链接。

或者,也许建议一个更好的方法。

最佳答案

The double quotes in JSON break the image link.



你有 an XY problem .

问题 是使用 "" 分隔的属性值中的字符字符会破坏属性值。

同时避免使用 "数据中的字符是一种解决方案,它不是一个好的解决方案(主要是因为在不破坏其他东西的情况下避免它们很难)。更好的解决方案是正确 逃脱他们。
const json = JSON.stringify(obj);
const url_escaped_json = encodeURIComponent(json);
const img = `<img src="https://quickchart.io/chart?c=${url_escaped_json}" alt="...">`;

请注意,这不使用 HTML 转义(将 " 替换为 &quot; ),因为您将数据放入 URL,因此它需要首先进行 URL 转义(这将替换 "%20 呈现不需要的 HTML 转义)。

关于javascript - 通过 Node Express 将对象作为字符串而不是 JSON 发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60280557/

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