Two Laptop Bag*
The moose likes HTML, CSS and JavaScript and the fly likes How to build and pass JSON objects back to a server? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Engineering » HTML, CSS and JavaScript
Bookmark "How to build and pass JSON objects back to a server?" Watch "How to build and pass JSON objects back to a server?" New topic
Author

How to build and pass JSON objects back to a server?

Max Tomlinson
Ranch Hand

Joined: Jul 17, 2001
Posts: 365
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: 60766
    
  65

What browsers are you supporting? Modern browsers will possess JSON.stringify().


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Max Tomlinson
Ranch Hand

Joined: Jul 17, 2001
Posts: 365
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: 60766
    
  65

Yeah, JSON supports that. You seem to be focused on arrays only. Visit json.org for a lot of info on JSON.
 
Consider Paul's rocket mass heater.
 
subject: How to build and pass JSON objects back to a server?
 
Similar Threads
seam remoting: can I pass a pojo FROM a client TO a session bean?
Undefined on jQuery Ajax Request
Head Rush Ajax and JSON
GWT in Action : Is it the book for beginners
Finding special characters in a JS string?