微信小程序开发——JAVA后端解析小程序json数组对象

在用JAVA与小程序联合开发项目能很好的进行前后端开发,

  • 小程序端负责页面的逻辑,交互以及跳转等,
  • JAVA后台负责数据的处理,接口的编写,业务的封装等。
在项目中数据主要以JSON的格式进行传输,因此JAVA在后台处理时常常需要对JSON对象进行解析来获取特定数据
在小程序中的JSON数据转换
  • 1.JSON.stingify()可以将json对象转换为json格式字符串
  • 2.JSON.parse()可以将json格式的字符串转换为json对象
var a1 = "aa"; var a2 = 22; var a3 = 33; var arr = {"01": a1, "02": a2, "03": a3}; var arrJosn = JSON.stringify(arr); //json对象转换为json格式的字符串 console.log(arrJosn); //json格式的字符串转化为json格式 var jsonObject = JSON.parse(arrJosn); console.log(jsonObject);

【微信小程序开发——JAVA后端解析小程序json数组对象】控制台输出结果为

微信小程序开发——JAVA后端解析小程序json数组对象
文章图片
输出结果
在JAVA后端解析JSON数据
在后台一般需要取特定数据或进行数据库的CRUD操作,因此需要对数据进行解析
  • List转JSONArray :JSONArray ja = JSONArray.fromObject(list)
  • Map转JSONArray:JSONArray ja = JSONArray.fromObject(list)
  • JavaBean转JSONArray:JSONObject jo =
    JSONObject.fromObject(newJavaBean())
  • String转JSONObejct:JSONObject jo =JSONObject.fromObject(str)
  • String转JSONArray:JSONArray ja = JSONArray.fromObject(str)
例子:后台解析小程序传入的json对象数组
小程序代码
var that = this var address = {"city": "GuangZhou","Province":"GuangDong","Country":"China"} var ordersArray = [{"id": 1, "name": "user1"},{"id": 2, "name": "user2"}] that.setData({ address: address, ordersArray: ordersArray}) wx.request({ url: 'http://localhost:8080/orders/getOrder', data:{ openid:"test1", address: that.data.address, ordersArray: that.data.ordersArray }, method:"GET", success:(res)=>{ console.log(res.data) } })

后台代码为
@RequestMapping("/getOrder") @ResponseBody public String getOrder(@Param("openid") String openid,@Param("address") String address, @Param("ordersArray") String ordersArray){ System.out.println(openid); System.out.println(address); System.out.println(address); //把json对象数组转换为普通数组 JSONArray ja = JSONArray.parseArray(ordersArray); System.out.println(ja); System.out.println(ja.size()); //取该数组第一个对象 System.out.println(ja.get(0)); //把json对象转换为普通对象 JSONObject jo = JSONObject.parseObject(address); System.out.println(jo); System.out.println(jo.size()); //根据key值为city取其值 System.out.println(jo.get("city")); return "success"; }

通过上面例子可把json对象数组转换为普通数组,把json对象转换为普通对象来获取到我们需要值,实现起来也很简单啦

    推荐阅读