无法解析从频道发送的json

时间:2013-02-16 15:00:07

标签: python google-app-engine channel-api

我的python代码中没问题。我有这个

   foo = "aaa"; //foo and bar are variables that change, just an example here
   bar = "bbb";
   json = {"here": foo, "there": bar} //also tried single quotes
   message = simplejson.dumps(json) //also tried just json instead of simplejson
   channel.send_message(user_id(), message)

在javascript中

 onMessage = function(m) {
    var a = JSON.parse(m.data);
    alert(a.here); // foo should pop up but it doesnt
  }

似乎解析方法不起作用。没有弹出警报。如果我删除解析行并将此警告弹出,如果我只是更改警报并继续解析它仍然可以做任何事情;

alert(m.data) // this prints out {"here": "aaa", "there": "bbb"}

所以idk为什么它没有正确解析。我假设它与引号有关。我想我再次遇到麻烦了。

更新

请看下面的答案,我解决了问题。

2 个答案:

答案 0 :(得分:1)

所以我这样解决了这个问题;

var a = JSON.parse(String(m.data));

看起来m.data毕竟不是一个字符串,所以你需要强制转换它。

答案 1 :(得分:0)

也许试试:

alert (m.data['here']);