2012-03-20 74 views
1

我的服务器返回一个有效的JSON字符串(JSONP)。将JSON字符串传递给javascript函数

例如parseJSON ({"NAME":"Tom"});

在客户端我有这个功能实现

function parseJSON (myOBJ) { 

    //myOBJ is already a JSON object but I wanted to it to be a JSON string 
    // so that I can check 
    // if browser supports JSON.parse otherwise do eval on that string. 
} 
+0

https://github.com/douglascrockford/JSON-js/blob/master/json2.js – ThiefMaster 2012-03-20 06:39:28

回答

3

MyObj中已经是一个JSON对象,但我想这是一个JSON 字符串,这样我可以检查浏览器支持JSON.parse 否则对该字符串进行评估。

如果myObj是一个JSON对象,浏览器支持JSON(和JSON.parse),我会说。如果你想转换回字符串,JSON.stringify。如果您不信任浏览器,请下载json2.js。不要使用eval

[编辑]
你的情况,看它是从AA未来JSONP请求,这种请求返回一个字符串,该字符串被解析成script标签的对象,后它将被评估。所有浏览器都应该支持这一点,我认为这里没有涉及客户端JSON。

+0

谢谢您的回复。问题是我不知道当浏览器不支持JSON.parse时的行为。如何在parseJSON函数中编写代码来处理这种情况。 myObj仍然是一个字符串。 – 2012-03-20 06:39:27

+0

嗨kaushal kishore,如果浏览器本身不支持JSON,您需要一个外部脚本来解析它(如json2.js)。但请参阅我对编辑的回答。 – KooiInc 2012-03-20 06:49:13

相关问题