admin管理员组

文章数量:1422007

I have a web service that returns me a JSON object that contains the string "Hello World". How do I pull this string out of the object?

data = [object Object]

Thanks

Nick

I have a web service that returns me a JSON object that contains the string "Hello World". How do I pull this string out of the object?

data = [object Object]

Thanks

Nick

Share Improve this question asked Apr 8, 2009 at 2:15 NickNick 19.7k53 gold badges190 silver badges313 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 6

You have to know how is your object, what members the object have.

You could try something like

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

You can either use eval:

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

But that is potentially dangerous, especially if you don't trust what is being sent from the server. Thus, the best way (and most secure way) to extract data from a JSON object is by using Crockford's JSON library:

var foo = JSON.parse(data);

Btw, if you're using jQuery to query ASP.Net Web Services, be careful of the the d. issue (which is used as a container object). Thus to extract the returned object, you have to do:

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

More information about this here: http://encosia./2008/03/27/using-jquery-to-consume-aspnet-json-web-services/

If you are using jQuery's post function you might follow this example found here.

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

In your case, I would suspect that you would call data.data.

本文标签: aspnetPull string value out of JSON objectStack Overflow