首页 > 代码库 > Java读取json数组转化成List或Object数组
Java读取json数组转化成List或Object数组
在之前的开发中经常遇到将List或Array转换成json传递到web前端,
供前端显示,但是今天我遇到了一个需要将json数组传递到后台,并在后
台转换成list的问题。为此我花费了一段较长的时间,为此我写下这篇博客。
首先是在前端用js构造json数组,html代码如下:
<TABLE style="width: 900px" id="table"> <pre name="code" class="html"> <tr id="trHtml"> <td class="tdlabel" nowrap="nowrap"><label><ju:txt value=http://www.mamicode.com/"虚拟账号" />:>在需求中需要动态添加和删除tr中的内容以增加一行输入项,为此有如下js代码://绑定添加 addHTML="<tr>"+$("#trHtml").html()+"</tr>"; $("#handworkAccountForm").find($("#create")).each(function(){ $("#create").die("click"); $("#create").live("click",function(){ $("#table").append(addHTML); $(".ccy:last").html(modelsHTML); }); }); // //绑定删除 $("#handworkAccountForm").find($("#delete")).each(function(){ $("#delete").live("click",function(){ if($("#table tr").length==1){ return } $(this).parent().parent().remove(); }); });其中addHTML是select中的option项,是用ajax从后台load出来的,此处忽略。其次,需要用js获取个tr项中的输入,构造成json数组,代码如下:
var saveHandworkAccount = function() { var jsonData=http://www.mamicode.com/{"resourceID":"2020004"};>构造出来的json格式如下:{ "handworkAccountList": [ { "payAccNo": "122", "glCode": "333", "ccy": "CNY", "amount": "44", "remark": " 5555" }, { "payAccNo": "5555", "glCode": "6666", "ccy": "CNY", "amount": "888" } ], "resourceID": 2020004 }最后是后台获取,代码如下:public void addHandworkAccount(Context context) { logger.debug("Start addHandworkAccount..."); Map<String, Object> request = this.getRequestData(); Map<String, Object> response = this.getResponseData(); Object handworkAccountList = request.get("handworkAccountList"); String json = handworkAccountList.toString(); JSONArray array = JSONArray.fromObject(json); List<HandworkAccountDto> dtoList=new ArrayList<HandworkAccountDto>(); for (int i = 0; i < array.size(); i++) { JSONObject jsonObject = array.getJSONObject(i); dtoList.add((HandworkAccountDto) JSONObject.toBean(jsonObject, HandworkAccountDto.class)); } logger.debug("addHandworkAccount success..."); }其中List<HandworkAccountDto> 也可以是Object数组,HandworkAccountDto
是数据传输对象,用来封装前端传递的参数,代码如下:
public class HandworkAccountDto implements Serializable { protected String payAccNo; protected String glCode; protected String ccy; protected BigDecimal amount; protected String remark; //....省略get,set方法 }
至此,Java读取json数组转化成List或Object数组的案例完成。
Java读取json数组转化成List或Object数组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。