JFinal獲取數組對象參數

例如:傳入數據,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參數是哪個來選取

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章