我试图将一个对象转换为json格式,但它不起作用(我得到一个奇怪的堆栈溢出异常)。它从对象到XML都能完美地工作。我有一个简单的实体类User和另一个具有多个关系的类。
@Entity
@XmlRootElement
public class User extends Person {
@Column(length = 60)
private String email;
@Column(name = "PSEUDO", length = 50)
protected String pseudo;
@ManyToMany(fetch = FetchType.LAZY ,targetEntity = Group.class)
@OrderBy("group_name ASC")
protected List<ItGroup> groups = new LinkedList<ItGroup>();
...
getters
}
相关类
@Entity
@Table(name = "groups")
public class Group implements ItGroup, Serializable {
...
@XmlTransient
@ManyToMany(fetch = FetchType.LAZY,mappedBy = "groups",targetEntity = User.class)
@OrderBy("email ASC")
private List<ItUser> users = new LinkedList<ItUser>();
...
}
我将@XmlTransient注释放在我想要忽略的getter上。
下面是我的rest服务中的一个方法,它从用户的昵称返回用户
@GET
@Path("{nickname}")
@Produces({"application/json"})
// @Produces({"application/xml"})
public ItUser getUserFromPseudo(@PathParam("nickname") String pseudo){
ItUser user = this.daoUser.getUserFromPseudo(pseudo);
return user;
}
因此,它使用@products({“application/xml”})而不是@products({“application/json”})
我使用Glassfish 5,模块以这种方式包含在我的应用程序的父POM中,分成不同的模块。事实是,我甚至不知道我正在使用的球衣的实现...我读到moxy是最好的,它可以读取jaxb注释。
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>8.0</version>
<scope>provided</scope>
</dependency>
我怎样才能解决这个问题?
也许你的“奇怪的堆栈溢出异常”是由杰克逊的无限递归引起的,就像这篇文章一样。所以@JsonIgnore
、@JsonManaged参考
或@JsonBack参考
可能是您的一个选项。
问题内容: 我的样子如下: 现在,每个元素具有相同的结构(假设一个POJO称为MessageDefault.java)。那么我怎么能把所有东西都当作一个??呢? 我正在使用gson进行解析。我也不能更改JSON响应。 编辑:: MessageDefault.java 它只是一切的结构。但是在JSON中,的每个子项都有不同的名称,例如POJO MessageDefault.java中所反映的名称。但
我正在使用凌空OkHttp从服务器获取一些数据。 响应是一个包含JSON的字符串,我想使用GSON/POJO解析它。 我得到错误: 预期BEGIN_OBJECT,但在第1行第1列路径$上是STRING 尝试解析时。 原因:java.lang.IllegalStateException:预期BEGIN_OBJECT但在第1行第1列路径$ com.google.gson.stream.JsonRead
我正在使用GSON解析一个JSON文件,并希望将这个JSON对象映射到一个POJO类。问题是JSON中的属性名没有camel-case,但我的java POJO对象具有camel-case属性名。 有没有任何想法没有任何表现打击? 例如:JSON文件中的属性名是'ordernumber',但在我的POJO类中,我用'Sales Number'作为属性名,而不是ordernumber。现在,我们如何
我的如下所示: 现在,中的每个元素都有相同的结构(比如一个名为MessageDefault.java的POJO)。那么,如何将所有
我有下面的JSON,我想解析到下面的bean类。 豆类 1 Bean类2 在这里,我无法使用下面的代码解析这些JavaPOJO。 jsonObjMapper.readValue(jsonString,DistributedCookieBean.class); 堆栈跟踪: org . code Haus . Jackson . map . jsonmappingexception:无法从START_
问题内容: 我有一个对象,希望在JSON中作为RESTful资源使用。我已经启用了Jersey的JSON POJO支持(在web.xml中): 但是,当我尝试访问资源时,出现以下异常: 我要提供的类并不复杂,它只有一些公共final字段和一个设置所有这些的构造函数。字段是所有字符串,基元,与此类似的类或它们的列表(我尝试使用普通列表而不是通用List ,但无济于事)。有谁知道给什么?谢谢! Jav