JavaScript对象数组的处理

1 篇文章 0 订阅
1 篇文章 0 订阅

最近写项目遇到了一个问题,为了方便维护、编写,所以写了一个JavaScript的对象数组。然而,上网找了很多博客都没有找到简单、有效的方法来解决后台传输、识别的问题。

var arr = new Array();
function createObject(name, value ){
  var obj = new Object();
  obj.name = name;
  obj.value = value;
  return obj;
}
for (var i = 0; i < 5; i++) {
  arr[i] = createObject("No." + i, "" + i);
}

此时的arr并不能直接用 JSON.stringify 函数来变成Json,即使转换成了Json传给了后台,后台也会因为无法解析而报错。

// JSON.stringify(arr)打印出来是
[{"name":"No.0","value":"0"},{"name":"No.1","value":"1"},{"name":"No.2","value":"2"},{"name":"No.3","value":"3"},{"name":"No.4","value":"4"}]

这里博主有两种解决的方案,第一种就是采用字符串拼接的方式拼成后台可以识别的方式字符串格式、或者Json字符串。

另外一种就是构造一个新的Json对象,把数组对象给包含进来传递

前台代码

//前台
var json = {};
json.trans = arr;
//传递json
JSON.stringify(json);

后台处理代码

//后台伪代码
public ArrayList dealJson(String jsonString) {
  ArrayList subList = new ArrayList();
  JSONObject jsonObject = JSONObject.fromObject(jsonString);
  JSONArray jsonArray = jsonObject.getJSONArray("trans");
  for (int i = 0; i < jsonArray.size(); i++) {
    JSONObject jObject = jsonArray.getJSONObject(i);
    Example exam = (Example) JSONObject.toBean(jObject, Example.class);
    //Example是对应前台createObject的后台对象
    subList.add(exam);
  }     
  return subList;
}

目前博主还正在学习的过程中,对Json也是浅尝辄止,只会上面两种方法,如果你有更好的方法,欢迎留言。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值