2010-03-19 6 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); 

} 
} 

Когда я бдительны, первое предупреждение является "[объект Object]"

Почему это так? Мне нужно удалить это ... как?

ответ

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 снова закодировать объект, вы можете использовать JSON.stringify() метод в современных браузерах и предоставляемые json2.js.

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

Я ПОЛУЧИЛ ЭТО ... СПАСИБО ... – Neethusha

Смежные вопросы