Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过Node Express以字符串而不是JSON的形式发送对象_Javascript_Html_Node.js_Json_Object - Fatal编程技术网

Javascript 通过Node Express以字符串而不是JSON的形式发送对象

Javascript 通过Node Express以字符串而不是JSON的形式发送对象,javascript,html,node.js,json,object,Javascript,Html,Node.js,Json,Object,好的,我希望响应是一个普通字符串,而不是JSON 这个物体 让obj={ 福:“酒吧”, 巴兹:1 } 应作为 "{foo: 'bar', baz: 1}" 而不是 {"foo": "bar", "baz": 1} 为什么??我需要在中使用字符串作为链接 JSON中的双引号中断了图像链接 或者,也许可以建议一个更好的方法。您可以使用JSON.stringify来实现这一点 let obj = { foo: 'bar', baz: 1 } console.log(JSON.st

好的,我希望响应是一个普通字符串,而不是JSON

这个物体

让obj={
福:“酒吧”,
巴兹:1
}
应作为

"{foo: 'bar', baz: 1}"
而不是

{"foo": "bar", "baz": 1}
为什么??我需要在中使用字符串作为链接


JSON中的双引号中断了图像链接


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

您可以使用
JSON.stringify
来实现这一点

let obj = {
  foo: 'bar',
  baz: 1
}

console.log(JSON.stringify(obj));
这将把对象转换成字符串

JSON中的双引号中断了图像链接

你有

问题是在由
字符分隔的属性值中使用
字符将破坏属性值

虽然避免在数据中使用
字符是一个解决方案,但它不是一个好的解决方案(主要是因为在不破坏其他内容的情况下避免字符是很困难的)。更好的解决方案是正确地转义它们

const json = JSON.stringify(obj);
const url_escaped_json = encodeURIComponent(json);
const img = `<img src="https://quickchart.io/chart?c=${url_escaped_json}" alt="...">`;
constjson=json.stringify(obj);
常量url_转义_json=encodeURIComponent(json);
常数img=`;

请注意,这并不使用HTML转义(它将用
替换
),因为您将数据放入URL中,因此它首先需要URL转义(这将用
%20
替换
,从而使HTML转义不再需要).

您可以利用专门的API来处理这种编码问题:

https://image-charts.com/chart?cht=lc
&chd=a:50,60,70,180,190|100,200,300,400,500
&chs=900x400
&chdl=Dogs|Cats&chdlp=t&chdls=444444,15
&chxt=x,y
&chxl=0:|January|February|March|April|May
&chg=1,1
&chco=0018F5,377E22


免责声明:我是Image Charts的创始人。

JSON总是一个字符串(而
“{foo:'bar',baz:1}”不是JSON)编写自己的序列化程序,如果对象属性值只是字符串和数字,这并不难。@Andreas-但不是OP要求的格式的字符串
“{foo:'bar',baz:1}”
,正如您所说,它不是JSON,但它是OP想要的。请尝试使用encodeURIComponent(JSON.stringify(obj))。确保响应类型为“纯/文本”字符串,是。OP要求的字符串格式:不,完美!谢谢你的解释。喜欢XY问题指针。