HttpClient擷取第三方介面資料以及解析擷取json

來源:互聯網
上載者:User

標籤:tty   ping   解決   entity   from   lin   cep   servlet   gen   

初到公司實習,需要通過http post擷取第三方介面返回的json資料並解析json數組擷取value

@RequestMapping("/getProductName")
@ResponseBody
public ArrayList getProductName(HttpServletRequest request) throws Exception {

    HttpPost httpPost = new HttpPost("");
    CloseableHttpClient client = HttpClients.createDefault();
    String respContent = null;
    JSONObject jsonParam = new JSONObject();
    StringEntity entity = new StringEntity(jsonParam.toString(),"utf-8");//解決中文亂碼問題
    entity.setContentEncoding("UTF-8");
    entity.setContentType("application/json");
    httpPost.setEntity(entity);
    System.out.println();
    ArrayList productList = new ArrayList();

    try{
        HttpResponse resp = client.execute(httpPost);
        if(resp.getStatusLine().getStatusCode() == 200) {
            HttpEntity he = resp.getEntity();
            respContent = EntityUtils.toString(he,"UTF-8");
            System.out.println("本處輸出第三方接資料---------------->"+respContent);
            JSONObject jsonObject= JSON.parseObject(respContent);
            String jsonStr =jsonObject.getString("需要擷取的json中的屬性");  //取出json數組中的某一個屬性
            System.out.println("這裡輸出返回產品名稱"+jsonStr);
            JSONArray jsonArray = jsonObject.getJSONArray("需要擷取的json中的屬性");
            for (int i = 0;i<jsonArray.size();i++){
               // Object list = jsonArray.get(i);
                //System.out.println(list);
            }

            JSONObject jo = JSONObject.parseObject(respContent);
            System.out.println("=============="+jo);
            net.sf.json.JSONObject jsonobj = net.sf.json.JSONObject.fromObject(jo);
            net.sf.json.JSONArray jsonArray1 = jsonobj.getJSONArray("需要擷取的json中的屬性");
            for(int i=0;i<jsonArray1.size();i++)
            {
                String productName = (String)jsonArray1.getJSONObject(i).get("json數組中某一個屬性");
                System.out.println(productName);
                productList.add(productName);
            }

     
        }}catch (Exception e){

        System.out.println("對接第三方介面出現異常");
    }

          return productList;
}

 

HttpClient擷取第三方介面資料以及解析擷取json

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.