我有一个用@XmlRootElement
注解的Java类。这个Java类有一个很长的属性(private long id
),我想返回到JavaScript客户端。如何使用JAXB将长整型属性作为JSON字符串值返回
我创建JSON如下:
MyEntity myInstance = new MyEntity("Benny Neugebauer", 2517564202727464120);
StringWriter writer = new StringWriter();
JSONConfiguration config = JSONConfiguration.natural().build();
Class[] types = {MyEntity.class};
JSONJAXBContext context = new JSONJAXBContext(config, types);
JSONMarshaller marshaller = context.createJSONMarshaller();
marshaller.marshallToJSON(myInstance, writer);
json = writer.toString();
System.out.println(writer.toString());
这将产生:
{"name":"Benny Neugebauer","id":2517564202727464120}
但问题是,长期价值是JavaScript客户端过大。因此,我想将此值作为字符串返回(不需要在Java中使用长字符串)。
是否有可以生成以下内容的注释(或类似内容)?
{"name":"Benny Neugebauer","id":"2517564202727464120"}
太棒了!谢谢你这个非常详细的答案。使用EclipseLink MOXY保持良好的工作和运气! – 2012-07-31 15:16:16