views:

432

answers:

4

Hey Everyone..

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

+3  A: 

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]);
Matias
A: 

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.

JPrescottSanders
+1  A: 

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.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/

Andreas Grech
A: 

You're right.. Needed firebug for that. Thank you for that!

Nick
please use the comment function for non-answers - thank you!
Sven Larson