ssh使用ajax异步通讯. json与对象转换的几个小问题
2015-01-25 13:18
344 查看
首先是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+")");
这样子,对象转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+")");
相关文章推荐
- ASP.NET Ajax, JQuery & JSON Date Serialization,.net对象系列化为JSON的时候,DateTime类型的转换问题
- 使用jackson注解返还json对象(字符串数组),配合ajax做异步显示
- javaWeb 开发中 使用ssh+ajax+json 开发时,json数据转换的问题
- struts2发送ajax的几个问题(不使用struts2-json-plugin的情况下)
- var dataObj=eval("("+data+")");//转换为json对象(解决在ajax返回json格式数据的时候明明正确的获取了返回值但是却就是进不去success方法的问题。格式错误)
- 关于使用ajax请求servletList转换Json抛的异常There is a cycle in the hierarchy!暨将List转换为JSONArray问题解决!
- ajax打印对象时,转换由java对象转为Json格式的String时遇到的Hibernate问题
- 解决使用JavaScriptConvert转换对象为Json时,中文和&符号被转码的问题
- 后台ajax调用中字符串到jquery中的json对象和数组对象转换问题
- 使用Jackson转换java对象为Json数据时,Json循环的问题
- Ajax使用后的几个小问题,求助!
- 使用ASP.NET AJAX异步调用Web Service和页面中的类方法(9):服务器端和客户端数据类型的自动转换:DataTable和DataSet
- ajax2级联动,遇到一个异步优先级问题,使用settimeout 解决
- 关于PHP在数组对象与JSON数据之间的转换问题(编码问题)
- 使用JSON-LIB转换JAVA对象
- 使用JSON-LIB转换JAVA对象
- 使用JSON-LIB转换JAVA对象
- 一个json-lib.jar转换复杂对象的问题?
- 使用密匙让putty(或ssh)自动登录Linux遇到几个问题的解决方法
- 使用xmlHttpRequest对象完成异步交互时,遇到的问题