2009-04-08 80 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/