【问题标题】:Disqus JSON Javascript Parse Issue in Node节点中的 Disqus JSON Javascript 解析问题
【发布时间】:2011-12-06 13:29:17
【问题描述】:

我从 Disqus 收到以下 (str),预期为 JSON:

?({"code": 0, "response": {"username": "FakeGrimlock", "about": "ME GIANT ROBOT DINOSAUR。为启动编写代码。吃无聊或愚蠢的人。喝咖啡和BEER.", "name": "FAKE GRIMLOCK", "url": "http://WWW.FAKEGRIMLOCK.COM", "profileUrl": "http://disqus.com/FakeGrimlock/", "emailHash": "07bb07626b48f05c093d70fb69ef8a76", "avatar": {"permalink": “http://disqus.com/api/users/avatars/FakeGrimlock.jpg”、“缓存”:“http://mediacdn.disqus.com/uploads/users/437/9401/avatar92.jpg?1313888496”}、“isAnonymous”:假、“id”:“4379401”}});

所以我修复它...

str='[' + str.substr(2, str.length-4) + ']'

这给了我们这个:

[{"code": 0, "response": {"username": "FakeGrimlock", "about": "ME GIANT ROBOT DINOSAUR。为启动编写代码。吃无聊或愚蠢的人。喝咖啡和啤酒. ", "name": "FAKE GRIMLOCK", "url": "http://WWW.FAKEGRIMLOCK.COM", "profileUrl": "http://disqus.com/FakeGrimlock/", "emailHash": "07bb07626b48f05c093d70fb69ef8a76", "avatar": {"permalink": " http://disqus.com/api/users/avatars/FakeGrimlock.jpg", "cache": "http://mediacdn.disqus.com/uploads/users/437/9401/avatar92.jpg?1313888496"}, "isAnonymous": false, "id": "4379401"}}]

...通过JSONLINT,然后尝试将其放入这里的对象...

var obj=JSON.parse(str);

console.log(obj) 显示:

[{代码:0, 回复: {用户名:'FakeGrimlock', 关于:“我的巨型机器人恐龙。为启动编写代码。吃无聊或愚蠢的人。喝咖啡和啤酒。 ', 名称:'假钢锁', 网址:'http://WWW.FAKEGRIMLOCK.COM', profileUrl: 'http://disqus.com/FakeGrimlock/', emailHash: '07bb07626b48f05c093d70fb69ef8a76', 头像:[对象], isAnonymous:假, id: '4379401' } } ]

然后在这里失败:

console.log(obj.response[0])// response is undefined. 

在 JSONLINT 中测试 obj 输出显示错误,我假设 JSON.Parse 删除了“”。

无论如何,我无法访问数据。

【问题讨论】:

    标签: json parsing node.js disqus


    【解决方案1】:

    简单。您的 JSON 对象是一个数组(前导 '[')。试试这个:

    obj[0].response
    

    或者只是不要用括号括起来以开始......

    【讨论】:

    • 天哪,我的大脑被炸了。谢谢...我试过 obj.response[0]...非常基本。啊!再次感谢,恢复理智
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-02
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多