首页 > 代码库 > 对于url传参的心得。在java中获取数据。。

对于url传参的心得。在java中获取数据。。

由于项目抓的紧,发现一个url传参的问题,忙里偷闲整理了一下。

首先得说明,我是要用过另一个项目的url获取json串解析出来给自己的接口使用,这是在java中完成。一般的情况是这样的:

 1 public static void main(String args[]){ 2         String url="http://123.56.6.112:2080/ec_app_api/article/getfirst?params={v:1}";  //通过?在后面传参 3         StringBuilder json = new StringBuilder(); 4         try { 5             URL urlObject = new URL(url); 6             URLConnection uc = urlObject.openConnection(); 7             BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream(),"UTF-8")); 8             String inputLine = null; 9             while ( (inputLine = in.readLine()) != null) {10                 json.append(inputLine);11             }12             in.close();13         } catch (MalformedURLException e) {14             e.printStackTrace();15         } catch (IOException e) {16             e.printStackTrace();17         }18         String json1=json.toString();19         System.out.println(json1);20         Map<String,Object> mapa = new HashMap<String,Object>(); //map的value必须为object21         mapa = JSONObject.fromObject(json1);22         System.out.println(mapa);23         Map<String,Object> mapb = JSONObject.fromObject(mapa.get("data")); //获取date里面的参数,这也是一个map集合24         System.out.println(mapb);25         String title=mapb.get("title").toString();26         String content=mapb.get("content").toString();27         String id=mapb.get("id").toString();28         System.out.println("@@@@@@@@@@@@@@"+title+"@@@@@@@@@@@@@@@@");

  然而,今天的项目是通过postman插件里面的raw请求可以成功,而一般的form—date是不成功的。查资料后才发现raw是一种原始的字符串请求方式。因此找到相关的方法就好了;下面是请求的代码:

 public static void main(String args[]) throws Exception{        String jsonTemp="{\"method\": \"GetCourtServItemList\",\"version\": \"ljapp_v1.0.0\",\"courtId\":283}";        String method="GetCourtServItemList";        String url = "http://115.28.5.221:8080/api/GetCourtServItemList.json";        HttpClient httpClient = new DefaultHttpClient();        HttpPost post = new HttpPost(url);        StringEntity postingString = new StringEntity(jsonTemp);// jsonTemp的传递        post.setEntity(postingString);        post.setHeader("Content-type", "application/json");        HttpResponse response = httpClient.execute(post);        String content = EntityUtils.toString(response.getEntity());        System.out.println(content);    }

  好了,这样请求就成功了。

对于url传参的心得。在java中获取数据。。