users@jersey.java.net

Re: application/json programming model

From: Arun Gupta <Arun.Gupta_at_Sun.COM>
Date: Fri, 31 Aug 2007 06:24:53 -0700

> The Bookmark sample uses directly JSON providers, no JAXB involved.
> I will publish a blog entry today with a sample showing generation of JSON
> out of JAXB object.

On this sample, I was wondering what is the need to have a separate
TestClient project. Can this be integrated in as a test in Bookmark
project itself ?

The TestPackages in Bookmark project is currently empty.

-Arun

>
> ~Jakub
>
>> use. You might not be able to get the exact JSON format you show
>> below but I'd bet you could get close just using some of the JAXB
>> annotations.
>>
>> Marc.
>>
>> On Aug 30, 2007, at 2:33 PM, Arun Gupta wrote:
>>
>>> In order to return a JSON array like:
>>>
>>> [{"name":"California","value":"California"},{"name":"New
>>> York","value":"New York"},{"name":"Alabama" ,"value":"Alabama"},
>>> {"name":"Texas","value":"Texas"}]
>>>
>>> I have to write the following code:
>>>
>>> -- cut here --
>>> @HttpMethod("GET")
>>> @ProduceMime("application/json")
>>> public JSONArray getMessage() throws JSONException {
>>> String[] states = { "California", "New York", "Alabama",
>>> "Texas"};
>>> JSONArray array = new JSONArray();
>>> for (String s : states) {
>>> JSONObject item = new JSONObject();
>>> item.put("name", s).put("value", s);
>>> array.put(item);
>>> }
>>>
>>> return array;
>>> }
>>> -- cut here --
>>>
>>> I think this is too involving and low-level. Can the code be
>>> something like the following ?
>>>
>>> -- cut here --
>>> @JSONObject
>>> ItemBean {
>>> ItemBean(String name, String value) { ... }
>>>
>>> @JSONObjectKey
>>> public String getName() { ... }
>>>
>>> @JSONObjectValue("value")
>>> public String getNameValue() { ... }
>>> }
>>>
>>> @HttpMethod("GET")
>>> @ProduceMime("application/json")
>>> public List<ItemBean> getMessage() {
>>> String[] states = { "California", "New York", "Alabama",
>>> "Texas"};
>>> List<ItemBean> list = new ArrayList<ItemBean>();
>>> for (String s : states) {
>>> ItemBean bean = new ItemBean(s, s);
>>> list.add(bean);
>>> }
>>>
>>> return list;
>>> }
>>> -- cut here --
>>>
>>> This will require defining new annotations JSONObject,
>>> JSONObjectKey & JSONObjectValue. I think this is more natural to a
>>> Java developer.
>>>
>>> -Arun
>>> --
>>> Web Technologies and Standards
>>> Sun Microsystems, Inc.
>>> Blog: http://blogs.sun.com/arungupta
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
>>> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>>>
>> ---
>> Marc Hadley <marc.hadley at sun.com>
>> CTO Office, Sun Microsystems.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
>> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>

-- 
Web Technologies and Standards
Sun Microsystems, Inc.
Blog: http://blogs.sun.com/arungupta