接口傳遞的json后台如何獲得值


有時候,寫接口的時候,需要傳好多屬性,往往以json數據的格式傳遞到后台,下面就來舉一個我寫的接口,主要是用來說明咋解析數據獲得需要的字段

    首先,前端傳遞的wordsJson數據是這樣的:       

{
    "uid":"32854",
    "IDCode":"000066",
    "wordsJson":[
        {
            "dayNum":"7",
            "name":"Tizhong"
        }
,
        {
            "dayNum":"5",
            "name":"BloodPressure"
        }
,
        {
            "startTime":"2019-07-06",
            "dayNum":"7",
            "name":"buNum",
            "endTime":"2019-07-12"
        }
,
        {
            "dayNum":"7",
            "name":"MealBloodSugar"
        }

    ]
,
    "words":"Tizhong,BloodPressure,buNum,MealBloodSugar"
}

 

 

后台如何解析穿度過來的這個json 字段:

   拿到該字段轉換為json:

public void newUserbodyInfo(HttpServletResponse response,String json){
        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods","POST");
        response.setHeader("Access-Control-Allow-Headers","x-requested-with,content-type");
        if (StringUtils.isEmpty(json)){
            CommonUtil.renderJson(response,MapUtil.setRequestCode(ResultCode.ERROR.getCode(),"",ResultCode.ILLEGAL_REQUEST_ARGUMENT.getDesc()));
            return;
        }
        JSONObject jsonObject = JSONObject.fromObject(json);
        //拿到傳遞來的值:
        String wordsJson = jsonObject.getString("wordsJson");
        if (StringUtils.isEmpty(wordsJson)){
            System.out.printIn("wordsJson不能為空!"));
        }else{
JSONArray jsonArray
=JSONArray.fromObject(wordsJson); for (int i = 0; i < jsonArray.size(); i++) { Map map = (Map) jsonArray.get(i); String num=map.get("dayNum").toString(); String number= map.get("name").toString(); System.out.println(number+"==="+num); }
 }
}

 

JSONArray jsonArray=JSONArray.fromObject(wordsJson);將獲得String 轉為 json數組,然后循環着個格式獲得數據。

2.另外一種:
獲得json格式是data:
{
    "body":[
        {
            "tid":"24",
            "tName":"協和血糖專家小組招募計划",
            "date":[
                {
                    "num":"5",
                    "tid":"0",
                    "type":"24"
                },
                {
                    "num":"1",
                    "tid":"1",
                    "type":"24"
                },
                {
                    "num":"1",
                    "tid":"2",
                    "type":"24"
                }
            ]
        }
    ],
    "IOS_VERSION_CODE":"1000000",
    "IOS_VERSION":"1.0",
    "status":"1",
    "ANDROID_VERSION_CODE":"1020006",
    "ANDROID_VERSION":"1.2.6",
    "msg":""
}


解析的話:
JSONObject jsonObject = JSONObject.fromObject(data);
if (jsonObject.getInt("status") == 1){
    List list1 = (List) jsonObject.get("body");
    Map map = (Map) list1.get(0);
    List resultList = new ArrayList();
}
 List list1 = (List) jsonObject.get("body");是將獲得json中獲取有用的body的數據,如下紅線的地方。

 

   Map map = (Map) list1.get(0);則是將body中的數據轉為一個Map
接着就可以去Map中的值了。

這只是我用的json格式的數據,不一樣的傳遞不一樣、
 
 
        

 

 

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM