| Author |
How to build and pass JSON objects back to a server?
|
Max Tomlinson
Ranch Hand
Joined: Jul 17, 2001
Posts: 364
|
|
Hi all-
In our app, we are using seam remoting to pass objects to an xhtml client from our ejbs. This works very well but the client to server interaction is much more restricted and we can't pass complex objects back via seam.
So I need to send a collection of objects back to my java server ejb, format them as an XML doc and save.
I'm thinking of building JSON objects, posting them as a string and having my server side code use xstream to format xml.
I think this provides a structured interface compared to writing my own solution (hashmaps, name-value pairs, what-have-you).
Is there client side code that will help me do this in javascript? (build JSON objects?)
Or should I simply format the array of objects by hand into JSON? This doesn't seem too tough actually but I wanted to leverage any solutions already out there.
thanks!
Max
|
 |
Bear Bibeault
Author and ninkuma
Marshal
Joined: Jan 10, 2002
Posts: 56204
|
|
|
What browsers are you supporting? Modern browsers will possess JSON.stringify().
|
[Smart Questions] [JSP FAQ] [Books by Bear] [Bear's FrontMan] [About Bear]
|
 |
Max Tomlinson
Ranch Hand
Joined: Jul 17, 2001
Posts: 364
|
|
Hi Bear-
Thanks for the reply. We are supporting the usual suspects - IE 7+, FF.
I think I need to get up to speed on JSON. I was at a loss how to create the objects on the client side. I thought I had to physically code the syntax e.g. "[ :" etc.
But it seems I create the objects and use eval: e.g. this sample:
var arrayAsJSONText = '["Europe", "Asia", "Australia", "Antarctica",
"North America", "South America", "Africa"]';
var continents = eval( arrayAsJSONText );
alert(continents[0] + " is one of the " + continents.length + "
continents.");
or as you suggest:
alert("The JSON representation of the continents array is: " +
continents.toJSONString());
But I need objects with member variables e.g. a column object (one of our application objects) which contain various fields: width, alignment, etc. I want it to map to a pojo so I can pass it to the server and convert it to a pojo.
thanks
Max
|
 |
Bear Bibeault
Author and ninkuma
Marshal
Joined: Jan 10, 2002
Posts: 56204
|
|
|
Yeah, JSON supports that. You seem to be focused on arrays only. Visit json.org for a lot of info on JSON.
|
 |
 |
|
|
subject: How to build and pass JSON objects back to a server?
|
|
|