服务器之家

服务器之家 > 正文

httpclient 请求http数据,json转map的实例

时间:2020-07-21 11:28     来源/作者:jingxian

实例如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
package com.idc.dataAudit.dataResource;
 
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
 
 
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
 
 
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.methods.GetMethod;
 
 
public class RequestHttpManage {
    public Map<Integer,String> RequesthttpInfo(String url) {
        String resultStr = null;
        Map<Integer,String> mapResult = new HashMap<Integer,String>();
    try{
            HttpClient client = new HttpClient(); 
            HttpMethod method=new GetMethod(url);
            //使用POST方法
            //HttpMethod method = new PostMethod("http://java.sun.com");
            client.executeMethod(method);
            
            //打印服务器返回的状态
            //System.out.println(method.getProtocolVersion());
            //System.out.println(method.getStatusLine().getStatusCode());
            //System.out.println(method.getStatusLine().getReasonPhrase());
              // System.out.println(method.getStatusLine().toString());
              // System.out.println(method.getStatusLine());
            //打印返回的信息
              // System.out.println(method.getResponseBodyAsString());
            
            
            mapResult.put(method.getStatusLine().getStatusCode(), method.getResponseBodyAsString());
            //释放连接
            method.releaseConnection();
    }catch(Exception e){
        e.printStackTrace();
    }
    System.out.println(mapResult);
    return mapResult;
  }
    public Map<String,List<String>> GetMapFromJson(String jsonStr){
    Map<String,List<String>> mapResult = new HashMap<String,List<String>>();
    try{
        
         JSONObject result = JSONObject.fromObject(jsonStr);//转换为JSONObject
      
       JSONArray nameList = result.getJSONArray("result");//获取JSONArray
       int length = nameList.size();
       for(int i=0;i<length;i++){
         JSONObject tempObject = nameList.getJSONObject(i);
         
         Iterator iter = tempObject.keys();
         String key = (String)iter.next();
         
         
         String keyId = tempObject .getString(key);
         
         List<String> objList = new ArrayList<String>();
         for (; iter.hasNext();) {
            String keyLocal = (String)iter.next();
          //  System.out.println(key+"="+tempObject .getString(keyLocal));
            objList.add(tempObject .getString(keyLocal));
         }
         mapResult.put(keyId, objList);
       }
    }catch(Exception e){
        e.printStackTrace();
    }
    System.out.println(mapResult);
    return mapResult;
  }
 
 
 
}

以上就是小编为大家带来的httpclient 请求http数据,json转map的实例全部内容了,希望大家多多支持服务器之家~

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
返回顶部