Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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 如何将JSON打印为字符串而不获取额外的反斜杠字符?_Javascript_Json - Fatal编程技术网

Javascript 如何将JSON打印为字符串而不获取额外的反斜杠字符?

Javascript 如何将JSON打印为字符串而不获取额外的反斜杠字符?,javascript,json,Javascript,Json,此代码: req.reject({ name: 'Server returned error', message: (`${message.errorcode}${message.data ? `, data: ${JSON.stringify(message.data)}` : ''}`) }); req.reject({ name: 'Server returned error', message: (`${message.errorcode}${mess

此代码:

req.reject({
    name: 'Server returned error',
    message: (`${message.errorcode}${message.data ? `, data: ${JSON.stringify(message.data)}` : ''}`)
}); 
req.reject({
    name: 'Server returned error',
    message: (`${message.errorcode}${message.data ? `, data: ${message.data}` : ''}`)
}); 
使用不需要的
\
字符生成输出:

{ 
    name: 'Server returned error',
    message: 'Command failure, data: {"message":"No device with name \'aAASDASDA\' connected."}' 
}
此代码:

req.reject({
    name: 'Server returned error',
    message: (`${message.errorcode}${message.data ? `, data: ${JSON.stringify(message.data)}` : ''}`)
}); 
req.reject({
    name: 'Server returned error',
    message: (`${message.errorcode}${message.data ? `, data: ${message.data}` : ''}`)
}); 
生成隐藏键和值的输出

{ 
    name: 'Server returned error',
    message: 'Command failure, data: [object Object]' 
}
如何生成带有键和值但没有额外
\
字符的输出

{ 
    name: 'Server returned error',
    message: 'Command failure, data: {"message":"No device with name 'aAASDASDA' connected."}' 
}

没有额外的`\`,这就是JSON的转义方式。请注意,发布的代码不会产生任何输出…
JSON。stringify
肯定不会这样做:。“使用不需要的\字符生成输出”您使用什么来输出/查看它?它周围的单引号表示您正在使用一些显示用单引号包装的字符串的东西(因此当然会在字符串中转义单引号),但如果是这样,字符串中实际上不会有反斜杠。它就是这样呈现的。为了让你想一想,你认为这样做的结果是什么->
console.log(JSON.parse(“\\\\\\\\\\\\\\\\\\\”)
没有额外的“\\\\\”,这就是JSON的转义方式。检查一下,发布的代码不会产生任何输出…
JSON.stringify
肯定不会这样做:。“使用不需要的\字符生成输出”您使用什么来输出/查看它?它周围的单引号表示您正在使用一些显示用单引号包装的字符串的东西(因此当然会在字符串中转义单引号),但如果是这样,字符串中实际上不会有反斜杠。它就是这样呈现的。为了让您思考一下,您认为这样做的结果是什么?->
console.log(JSON.parse(“\\\\\\\\\\\\\\\\\”)