2012-03-20 41 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

相關問題