dev@jersey.java.net

Invalid JSON data returned

From: 佐藤 久明 <hisato_at_beacon-it.co.jp>
Date: Tue, 1 Apr 2008 16:36:24 +0900 (JST)

Hi,

I have tried to get the JSON data by JSONJAXBContext
(using 'MAPPED' format),
but an invalid JSON data was returned.

-> {"parent":{"@attr":"value1""attr1"}

When i used 'MAPPED_JETTISON' or 'BADGERFISH' for JSON_NOTATION,
the result was as follows.

-> {"parent":{"@attr":"attr1","$":"value1"}}

I got the latest revision(ver.0.7 rev.898) from trunk and tried.

--------
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.ProduceMime;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlValue;

@Path("/jsonFormats")
public class SimpleJsonResource {

  @XmlRootElement(name="parent")
  public static class ParentBean {
    @XmlAttribute(name="attr")
    public String attr = "attr1";
    @XmlValue
    public String value = "value1";
  }

  @Path("json")
  @GET
  @ProduceMime({"application/json"})
  public ParentBean getJson() {
    return new ParentBean();
  }

  @Path("xml")
  @GET
  @ProduceMime({"application/xml"})
  public ParentBean getXml() {
    return new ParentBean();
  }
}

--------

Thanks,
Hisaaki Sato