Json:前台对象数组传到后台解析
2017-11-28 16:44
549 查看
方法:使用JsonArray进行解析
步骤:
一、引入一系列JAR包
要使程序便于解析json,首先引入json-lib包,son-lib包同时依赖于5个JAR包:(前5个为依赖包);
由于刚开始笔者是随便下载这些包(没有管版本)导入程序,但没想到程序出现了兼容问题,为了使大家不再浪费时间,现给出经测试可用的一套包名及版本号;
1.commons-beanutils-1.8.3.jar
2.commons-collections-3.2.1.jar
3.commons-lang-2.6.jar
4.commons-logging-1.1.1.jar
5.ezmorph-1.0.6.jar
6.json-lib-2.4-jdk15.jar
二、前台代码
datalist是类似这样的对象数据:
[javascript] view plain copy
var datalist= new Array();
for ( var i = 1; i <= bookCount; i++) {
var object = new Object();
object.id = i;
object.name = "同学"+i;
datalist.push(object);
}
前台传输对象数组datalist:
[javascript] view plain copy
function saveData(datalist){
.ajax({
type:"POST",
url:base +"/save",
data:{"datalist":JSON.stringify(datalist)},
dataType: "json",
success:function (data){
},
error:function (){
alert("insert serv wrong");
}
);
}
三、后台代码
后台获取到的list是string类型的,值为:
[java] view plain copy
[{"id":1,"name":"同学1"},{"id":2,"name":"同学2"}]
后台转换得到对象对应值:
注意:这样使用的话,引入JSONArray的类型为org.json而不是net.sf.json,笔者开始引入的是net.sf.json.JSONArray,但JSONObject.fromObject(obj)时报错报java.lang.reflect.InvocationTargetException错误。解决很久未果,偶然看一网友说用org.json比net.sf.json好用,就试了下。在此给大家提供个参考。
[java] view plain copy
public Object save(@Param("datalist")String list){
JSONArray jsonArray = new JSONArray(list);
String id = jsonArray.getJSONObject(0).get("id");</span>//得到第一个同学的id
String name = jsonArray.getJSONObject(0).get("name");</span>//得到第一个同学的name
return true;
}
步骤:
一、引入一系列JAR包
要使程序便于解析json,首先引入json-lib包,son-lib包同时依赖于5个JAR包:(前5个为依赖包);
由于刚开始笔者是随便下载这些包(没有管版本)导入程序,但没想到程序出现了兼容问题,为了使大家不再浪费时间,现给出经测试可用的一套包名及版本号;
1.commons-beanutils-1.8.3.jar
2.commons-collections-3.2.1.jar
3.commons-lang-2.6.jar
4.commons-logging-1.1.1.jar
5.ezmorph-1.0.6.jar
6.json-lib-2.4-jdk15.jar
二、前台代码
datalist是类似这样的对象数据:
[javascript] view plain copy
var datalist= new Array();
for ( var i = 1; i <= bookCount; i++) {
var object = new Object();
object.id = i;
object.name = "同学"+i;
datalist.push(object);
}
前台传输对象数组datalist:
[javascript] view plain copy
function saveData(datalist){
.ajax({
type:"POST",
url:base +"/save",
data:{"datalist":JSON.stringify(datalist)},
dataType: "json",
success:function (data){
},
error:function (){
alert("insert serv wrong");
}
);
}
三、后台代码
后台获取到的list是string类型的,值为:
[java] view plain copy
[{"id":1,"name":"同学1"},{"id":2,"name":"同学2"}]
后台转换得到对象对应值:
注意:这样使用的话,引入JSONArray的类型为org.json而不是net.sf.json,笔者开始引入的是net.sf.json.JSONArray,但JSONObject.fromObject(obj)时报错报java.lang.reflect.InvocationTargetException错误。解决很久未果,偶然看一网友说用org.json比net.sf.json好用,就试了下。在此给大家提供个参考。
[java] view plain copy
public Object save(@Param("datalist")String list){
JSONArray jsonArray = new JSONArray(list);
String id = jsonArray.getJSONObject(0).get("id");</span>//得到第一个同学的id
String name = jsonArray.getJSONObject(0).get("name");</span>//得到第一个同学的name
return true;
}
相关文章推荐
- Json:前台对象数组传到后台解析
- Json:前台对象数组传到后台解析
- 前台的js对象数组传到后台处理。在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>
- Json:前台对象数组传到后台解析
- Json:前台对象数组传到后台解析
- 后台将对象转换为json格式,前台js解析json数据,将字符串转化为数组
- 前台json数组传到后台解析
- 前台将实体对象以json串形式传到后台并解析
- 复选框选中table一行的数据,并组成JSON数组对象传递到后台,在后台解析遍历
- EXT中在前台使用ajax将后台model类封装为json格式传到前台,并且解析出model中属性
- Jackson 后台将javabean对象、List转为json格式字符串并返回,同时前台解析
- java后台JSON解析前台传入的数组JSON字符串
- JSON传java对象数组到后台解析
- springMvc-对servletApi的支持以及把后台对象以json方式传到前台
- 前台js获取到后台json数据,eval解析json后,日期(object)对象转换为date日期格式显示
- Ajax使用方法,经典Ajax封装,可接收解析后台传回的json对象和json数组
- 后台json字符串存到request传到前台转化为js对象多种方法实例
- 前台获取后台的数据,通过JSON后去后台的对象的数组
- MVC中前台Model转Json传到后台
- Android解析json数组对象的方法及Apply和数组的三个技巧