2 qq 33431094 qq_33431094 于 2016.02.23 14:18 提问

字符串转换JSON对象 然后成功通过key获取value值

var obj="{'a':1,'b':2}"
我想把这个样的字符串 在HTML5里边解析成json 该什么做呢
求各位指点下小生先行多谢各位
我这样写的
console.log(obj);
var c=JSON.parse(obj);
console.log(c);

控制台输出
{'a':1,'b':2}

Uncaught SyntaxError: Unexpected token ' at PageFrame/system/site/updataAddress.html:1

但是当我直接注释掉
var c=JSON.parse(obj);
console.log(c);
错误就没了 但是我字符串就没能转换成json对象了

6个回答

dongfeng9ge
dongfeng9ge   Ds   Rxr 2016.02.23 14:21

建议你用Gson,直接toJson就可以了

bdmh
bdmh   Ds   Rxr 2016.02.23 14:23

你这个格式不对,单引号改成双引号

rui888
rui888   Ds   Rxr 2016.02.23 14:32

图片说明

Royal_lr
Royal_lr   Ds   Rxr 2016.02.23 14:47

直接这样var obj={'a':1,'b':2}就可以通过obj.a和obj.b就能获取到value了

showbo
showbo   Ds   Rxr 2016.02.23 15:57

非标准JSON字符用eval,不要JSON.parse

 var obj="{'a':1,'b':2}"
obj=eval('('+obj+')')
console.log(obj.a)

obj='{"a":1,"b":2}'/////////
obj=JSON.parse(obj);
console.log(obj.a)
qq_33431094
qq_33431094   2016.02.24 09:18

以上格式不是我写的 我只是读取到了一个字符串的格式为"{'a':1,'b':2}"
我要把它转换为标准的json形式,然后以json形式读取其值而已。
就好似 我在本地缓存了一个对象setItem(obj,{'a':1,'b':2})
然后通过 getItem(obj),获取到的字符串var obj= "{'a':1,'b':2}"一样
打印obj会出现{'a':1,'b':2} 但是obj.a就会出现undfind
obj = JSON.parse(obj);就会直接报错了;
我试了
JSON.parse("要转换的字符对象"),
一般json解析,用的eval或者stringfy都不行,都会出现以下错误
Uncaught SyntaxError: Unexpected token ' at PageFrame/system/site/updataAddress.html:1
我现在用的是HTML5+的Hbuilder开发工具 对于这个问题求指点

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!