JFinal获取数组对象参数

2 篇文章 0 订阅

例如:传入数据,Jfianl后台如何接收homework数据


    "studentId": 209,
    "homework":[{
      "id":4,
      "content":"这是第一项作业"
  },{
      "id":5,
      "content":"这是第二项作业"
  }]
}

 

在用postman测试该数据接口时 用raw测试时  Jfinal后台应 用HttpKit.readData()来接收和转换数据串。具体代码如下

  String jsonStr = HttpKit.readData(getRequest());
  JSONObject jsonObject = JSONObject.parseObject(jsonStr);  //jsonObject中则是所有参数
  JSONArray homework= jsonObject.getJSONArray("homework");
//将后台获取的JSONArray 转成熟悉的List<Record>
  List<Record> result = new ArrayList<>();

  for (Object object : homework) {
      JSONObject jsonObj = (JSONObject) object;
      Record  record = new Record().setColumns(FastJson.getJson().parse(jsonObj.toJSONString(), Map.class));
            result.add(record);
     }

还可以用postman中x-www-form-urlencoded进行测试,后台接受如下:转成JSONArrray在进行操作

String homeworkStr = getPara("homework");
JSONArray jsonObject = JSONObject.parseArray(homeworkStr );

那么raw测试和x-www-form-urlencoded测试有什么区别呢

1.content-type不一致:

x-www-form-urlencoded为application/x-www-form-urlencoded:将表单内的数据转换为键值对

raw为content-type: application/json

2.传的数据类型不一致

x-www-form-urlencoded的数据是字符串。将参数拼接为键值对:studentId=209&homework=[{},{}]

raw可以上传text、json、xml、html。一般上传为json。后台接收后将json转定义好的model

针对在postman中选哪个,可以看前端ajax的contentType参数是哪个来选取

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值