ssh使用ajax异步通讯. json与对象转换的几个小问题

首先是hibernate,用ssh做项目的时候,使用hibernate,这个hibernate博大精深,至今只懂皮毛。建对象时候使用它的一对多,多对多联系,。

这样子,对象转json的时候会产生循环依赖的现象,例如,学生与兴趣多对多联系,把学生对象转成json字符串的时候会把学生所对应兴趣转成字符串,但兴趣本生又是一个对象,这样做会遇到很多问题,可能转换不成功,可能产生循环依赖。

 有一种方法可以解决这个问题,。使用谷歌的GSON包,使用方法就是,在定义对象的时候加上,

  @Expose
     private String xh;//学生表某字段

  @Expose

   private Set xingqu;// 使用set,多对多联系兴趣表

使用@Expose,好处就是,转字符串的时候只转@Expose下面的字段。

这是定义。在转字符串的时候

Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
String student = gson.toJson(studentdetails);

这样就构造好了字符串,可以传到前端去了。

另外,js中把字符串转成对象的方法:var student  = eval("("+data+")");

 

posted @ 2015-01-25 13:18  上街、找金莎  阅读(231)  评论(0编辑  收藏  举报