java与javascript之间json格式数据互转介绍
javascript中对象与字符串的互转
对象转为字符串:通过JSON.encode方法,这个是json.js里面的方法,引入到当前文件就可以了。字符串转换为对象:①使用JSON.decode方法,同上,引入js就可以了。②jQuery中有个方法,$.parseJson也可以实现。
java中json字符串与对象的互转
对象转换为字符串:在struts2-json-plugin.jar中有个JsonUtil.serial方法。也可以自己自由定制,通过字符串拼接的方式实现,json字符串的属性一定要是双引号,单引号或者是不适用都会报错。eg:"{\"id\":123,\"name\":\"wch\",\"children\":[{\"id\":456}]}",字符串转换为对象:JsonObject.fromObject(),如果是数组就使用JsonArray.fromObject().json对象中只有对象或者是数组。不过这个只能转换当前的属性,如果对象中有数组或者是列表就要自己再次赋值转换。就比如上面的json字符串你是不能一步到位的,即使对象有个属性是children这个list也不会自动将字符串给你转换为列表的。
java字符串转换为javascript对象
java和js的接触只会发生在jsp中(我目前是这么认为的),在jsp中只要 var obj = <%=javaStr%>就可以了。也可以先赋值给js中的字符串var obj = "<%=javaStr%>"再使用第一步中的字符串转换为对象。javascript字符串转换为java对象
如果要自己实现的话要,①先转换为js中的字符串,通过参数传递的方式赋值给java中的属性。②使用低第二步的方法进行转换。如果使用struts2的话这一切都显得那么易如反掌了,你要做的就是定义action中同名的属性。