关于javascript对象的一个奇怪的问题。

图片说明

各位大神能否解释一下,为何上图的 str 是字符串类型,在控制台打印出str, 再用双灯号去比对的时候,返回是false呢? typeof 的结果是字符串,然而把值复制出来和str比较却又不对,那么str 到底是什么东西?

4个回答

这个应该属于json的序列化跟反序列化的问题吧,正常赋值后显示的应该是这样的!图片说明
所以问题应该在你str赋值上面

zhy416011189
迷幻的神仙 所以图上的 "\id" 事实上应该是 "\\\id" 直接写 "\id" 转义过程会忽略掉反斜杠,但之前那个str是特殊处理已经转义好了反斜杠,所以无法用JSON的序列化方法。
4 年多之前 回复
zhy416011189
迷幻的神仙 是的,后来我仔细分析了之后,发现了原因,那个str是一个字符串,但是是一个包含了已经转义过的反斜杠的字符串。
4 年多之前 回复

事实上,这是一个JSON.parse的转换问题。

图片说明

如图所示,我把str的值单独拷出来放到JSON.parse()里面就能转换,而把str对象丢进去却不行,望高手指点。

json类型字符串吧,你转换成对象即可

json可以,json对象不可以么

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问