2009-04-08 53 views
2

我有一個Web服務返回給我一個包含字符串「Hello World」的JSON對象。我如何從對象中拉出這個字符串?從JSON對象中提取字符串值

數據= [目標對象]

感謝

尼克

回答

5

你必須知道如何是你的對象,該對象有什麼成員。

如果您正在使用jQuery的功能後,您可以嘗試像

for(var e in data) 
    alert(e + ' : ' + data[e]); 
0

你可能會仿效這一發現here

$.post("test.php", { func: "getNameAndTime" }, 
    function(data){ 
     alert(data.name); // John 
     console.log(data.time); // 2pm 
    }, "json"); 

在你的情況,我會懷疑你會打電話給data.data。

2

您可以使用eval

var foo = eval('(' + data + ')'); 

但是,這是潛在的危險,特別是如果你不相信什麼是正從服務器發送。因此,從JSON對象中提取數據的最好方法(和最安全的方法)是使用Crockford's JSON library

var foo = JSON.parse(data); 

順便說一句,如果你使用jQuery查詢ASP.Net Web服務,是注意d.問題(用作容器對象)。因此,提取返回的對象,你要做的:

var foo = JSON.parse(data); 
if (foo) { 
    //Foo is not null 
    foo = f.d; 
} 

更多信息,關於這個位置:http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/