随__风
2016-02-23 06:18
采纳率: 0%
浏览 5.0k

字符串转换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条回答 默认 最新

  • 东风玖哥 2016-02-23 06:21

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

    点赞 打赏 评论
  • bdmh 2016-02-23 06:23

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

    点赞 打赏 评论
  • 兔子托尼啊 2016-02-23 06:32

    图片说明

    点赞 打赏 评论
  • Royal_lr 2016-02-23 06:47

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

    点赞 打赏 评论
  • 非标准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)
    
    点赞 打赏 评论
  • 随__风 2016-02-24 01: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开发工具 对于这个问题求指点

    点赞 打赏 评论

相关推荐 更多相似问题