2010-03-19 96 views
0

我有這樣的代碼:JSON解析與EVAL

function useHttpResponse() 
{ 

if (xmlhttp.readyState==4) 
{ 
var response = eval('('+xmlhttp.responseText+')'); 
    alert(response); 
for(i=0;i<response.Users.length;i++) 
     alert(response.Users[i].UserId); 

} 
} 

當我警報,第一次警報是「的翻譯:」

爲什麼會這樣呢?我需要刪除那個......怎麼樣?

回答

0

這是爲什麼呢?

因爲那是當你轉換一個簡單的對象爲字符串你會得到什麼。

我需要刪除那個......怎麼樣?

刪除alert(response);從源

1

解碼JSON字符串並將其轉換爲本地JavaScript對象。當你調用alert()時,調用該對象的toString()方法將該對象轉換回字符串。任何投射到一個字符串的對象變成[object Object]。請看下面的例子:

var myObj = new Object(); 
alert (myObj);   // alerts [object Object] 
alert (myObj.toString()); // alerts [object Object] 
alert (({}).toString()); // alerts [object Object] 

如果你想再次JSON編碼的對象,你可以使用在現代瀏覽器找到並json2.js提供的JSON.stringify()方法。

var myObj = {"myProp":"Hello"}; 
alert (JSON.stringify(myObj)); // alerts {"myProp":"Hello"}; 
+0

我知道了......謝謝.... – Neethusha 2010-03-19 18:33:17