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

2022年6月12日09:55:28

在用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数据
在后台一般需要取特定数据或进行数据库的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")@ResponseBodypublic StringgetOrder(@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对象转换为普通对象来获取到我们需要值,实现起来也很简单啦

  • 作者:冻冬龙东墙
  • 原文链接:https://blog.csdn.net/weixin_40523463/article/details/103932517
    更新时间:2022年6月12日09:55:28 ,共 1843 字。