JSON is not a *Java* format. It is a JavaScript Object Notation. On 9/4/2013 4:54 PM, Mike Miller wrote: > Thanks - will try that. Just included the Jackson jar but that didn't make > it. > > One last question - don't mean to eat up all your time - but your statement, > "But you are right, Jettison produces different JSON." How that be? Isn't > JSON a spec such that there should be consistent output for a set of data? > > -----Original Message----- > From: Bill Burke [mailto:bbu...@redhat.com] > Sent: Wednesday, September 04, 2013 3:50 PM > To: Mike Miller > Cc: resteasy-users@lists.sourceforge.net > Subject: Re: [Resteasy-users] Confused on handling response containing > collections in json > > Just don't include the jettison module and include all the jackson stuff. > Should work. > > On 9/4/2013 4:19 PM, Mike Miller wrote: >> Sorry - we are JBoss 4.2.3.GA (still) with RestEasy 2.3.5. >> >> -----Original Message----- >> From: Bill Burke [mailto:bbu...@redhat.com] >> Sent: Wednesday, September 04, 2013 3:06 PM >> To: Mike Miller >> Cc: resteasy-users@lists.sourceforge.net >> Subject: Re: [Resteasy-users] Confused on handling response containing >> collections in json >> >> What is your server? Tomcat? Jetty? JBoss version? >> >> On 9/4/2013 4:02 PM, Mike Miller wrote: >>> Okay, thanks - so how do I do that? I see Chapter 21 (2.3.5) talks about >>> Maven but we aren't using maven. Do I just need to include the jar or is >>> there something in the web.xml that I need to add to include this 'provider? >>> >>> Also could someone please address my last question: >>> >>> "Are we using the Response object incorrectly? What's really the >>> difference between returning List<Customer> vs Response with the >>> List<Customer> in the generic entity?" >>> >>> -----Original Message----- >>> From: Bill Burke [mailto:bbu...@redhat.com] >>> Sent: Wednesday, September 04, 2013 2:54 PM >>> To: resteasy-users@lists.sourceforge.net >>> Subject: Re: [Resteasy-users] Confused on handling response >>> containing collections in json >>> >>> Switch to Jackson on the server side. We will be deprecating Jettison in >>> the near future as it is buggy and not being well maintained. >>> Jackson has all of what Jettison has and more... >>> >>> But you are right, Jettison produces different JSON. >>> >>> On 9/4/2013 3:27 PM, Mike Miller wrote: >>>> We are building a restful api, using 2.3.5 (although I don't think >>>> the release level matters) and I am a bit confused on response >>>> handling within RestEasy: >>>> >>>> Right or wrong, we made most of our resource methods return >>>> Response, using the GenericEntity when we wanted to return a collection of >>>> objects. Testing up to now was in Chrome Advanced Rest Client. We >>>> have our beans JAXB annotated and the resource 'produces' both >>>> application/xml and application/json. For example: >>>> >>>> @GET >>>> >>>> @Produces({"application/json", "application/xml"}) >>>> >>>> *public*Response find(@ContextUriInfo uriInfo) >>>> >>>> { >>>> >>>> setupQueryParms(uriInfo.getQueryParameters()); >>>> >>>> List<Customer> custList = *null*; >>>> >>>> *try*{ >>>> >>>> custList = listAllPaginated(); >>>> >>>> } *catch*(FinderException e) { >>>> >>>> Log./getInstance/().error("FinderException >>>> caught :", e ); >>>> >>>> throwException(Response.Status./NOT_FOUND/, >>>> "Error searching customers"); >>>> >>>> } >>>> >>>> GenericEntity<List<Customer>> entity = >>>> *new*GenericEntity<List<Customer>>(custList) {}; >>>> >>>> *return*Response./ok/(entity).build(); >>>> >>>> } >>>> >>>> Now, as part of writing JUnit test cases, I wanted to take the >>>> response I get back and put it back to object form so that I can then do a >>>> set of >>>> asserts against the object or list of objects returned. I downloaded >>>> Jackson version 1.9.11 and tried to serialize/marshal the json back >>>> to object form but keep getting the following error: >>>> >>>> Exception in thread "main" >>>> _org.codehaus.jackson.map.exc.UnrecognizedPropertyException_: >>>> Unrecognized field "Customer" (Class >>>> com.jda.portfolio.api.rest.base.Customer), not marked as ignorable >>>> >>>> at [Source: C:\PPOSDevelopment\Trunk\API\REST\Server\response.json; >>>> line: 1, column: 15] (through reference chain: >>>> com.jda.portfolio.api.rest.base.Customer["Customer"]) >>>> >>>> Is there a difference between Jackson json and what RestEasy produces, >>>> from I think Jettison? I also took the example from User doc section >>>> 19.6.1 JSON and JAXB collections/arrays >>>> >>>> >>>> >>>> [{"foo":{"@test":"bill"}},{"foo":{"@test":"monica}"}}] and tried to >>>> marshal that back to object form - getting the same error. >>>> >>>> >>>> >>>> It seems like from Jackson, I would get something like: >>>> >>>> [{"@test":"bill"},{"@test":"monica}"}] for a List<Foo> - the difference >>>> being the {foo: } which looks like a wrapper for the object. >>>> >>>> >>>> >>>> I changed the code to return List<Customer> instead of the Response with >>>> GenericEntity including the List<Customer> but the json looks the same. >>>> >>>> >>>> >>>> What am I doing wrong? >>>> >>>> >>>> >>>> Are we using the Response object incorrectly? What's really the >>>> difference between returning List<Customer> vs Response with the >>>> List<Customer> in the generic entity? >>>> >>>> >>>> >>>> I hope this is clear, but I can provide more details if needed. >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> -------------------------------------------------------------------- >>>> - >>>> - >>>> -------- Learn the latest--Visual Studio 2012, SharePoint 2013, SQL >>>> 2012, more! >>>> Discover the easy way to master current and previous Microsoft >>>> technologies and advance your career. Get an incredible 1,500+ hours >>>> of step-by-step tutorial videos with LearnDevNow. Subscribe today and save! >>>> http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg. >>>> c >>>> lktrk >>>> >>>> >>>> >>>> _______________________________________________ >>>> Resteasy-users mailing list >>>> Resteasy-users@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/resteasy-users >>>> >>> >>> -- >>> Bill Burke >>> JBoss, a division of Red Hat >>> http://bill.burkecentral.com >>> >>> --------------------------------------------------------------------- >>> - >>> -------- Learn the latest--Visual Studio 2012, SharePoint 2013, SQL >>> 2012, more! >>> Discover the easy way to master current and previous Microsoft technologies >>> and advance your career. Get an incredible 1,500+ hours of step-by-step >>> tutorial videos with LearnDevNow. Subscribe today and save! >>> http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg. >>> c lktrk _______________________________________________ >>> Resteasy-users mailing list >>> Resteasy-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/resteasy-users >>> >> >> -- >> Bill Burke >> JBoss, a division of Red Hat >> http://bill.burkecentral.com >> > > -- > Bill Burke > JBoss, a division of Red Hat > http://bill.burkecentral.com >
-- Bill Burke JBoss, a division of Red Hat http://bill.burkecentral.com ------------------------------------------------------------------------------ Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more! Discover the easy way to master current and previous Microsoft technologies and advance your career. Get an incredible 1,500+ hours of step-by-step tutorial videos with LearnDevNow. Subscribe today and save! http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk _______________________________________________ Resteasy-users mailing list Resteasy-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/resteasy-users