alert('How do i make abspath==U:\\path?'); //shouldnt i only need one \?
alert(JSON.stringify({abspath:'U:\path'})); //wtf
alert(JSON.stringify({abspath:'U:\\path'}));//wtf2
//alert(JSON.stringify({abspath:'U:/path'}));//different
alert(JSON.stringify({abspath:"U:\path"})); //even here!?
alert(JSON.stringify({abspath:"U:\\path"})); //fuuuuuuuuuuuuu
答案 0 :(得分:4)
当脚本输出{"abspath":"U:\\path"}
时,这是一个有效的JSON字符串。它不像一样,因为它仍然被转义 - JSON字符串不是人类可读的。
如果要解码该字符串,最终会得到所需的值。在解码之前,您的输出仍然应该被转义。如果未在编码字符串中进行转义,则无法对其进行解码。
请参阅:http://jsfiddle.net/dhzMQ/1/(需要console
的可用性)
进一步阅读
答案 1 :(得分:3)
alert( JSON.stringify({abspath:"U:\\path"}) )
这是正确的,您需要JSON格式的\\
,因为这就是\的存储方式。
您可以通过解析JSON并查询abspath来判断。
alert(JSON.parse(JSON.stringify({abspath:"U:\\path"})).abspath);
alert( JSON.stringify({abspath:"U:\\path"}) )
答案 2 :(得分:2)
存储在对象中的字符串:
JSON.parse(JSON.stringify({"abspath": "U:\\path"})).abspath
...只有一个\
。
答案 3 :(得分:1)
有效的JSON在键和值
周围有引号{"abspath":"U:\\path"}
为我工作
JSON.stringify({"abspath":"U:\\path"});