本文目錄一覽:
- 1、java寫一個用於接收json數據的介面
- 2、如何用Java調用別人API介面
- 3、設計一個java介面,接收json,並且將處理結果按json的格式返回
- 4、web環境下,servlet如何設計java介面接收json,並將處理結果按json格式返回?
java寫一個用於接收json數據的介面
java中的介面是一種特殊的類,使用關鍵字interface創建。介面功能完全實現後,可以打成jar包,提供給其他公司使用。
要返回json格式數據,可以把介面中抽象方法的返回值類型規定為JSONObject或JSONString類型。這樣當其他公司調用時,得到的數據就是json數據了。
另外,以jar形式提供的介面,可以通過反編譯得到你的源碼,如果你不希望開源,就要加密了。
如何用Java調用別人API介面
java發一個http請求過去,帶上參數就可以了啊,跟我們在瀏覽器上訪問資源是一樣的 只是它返回的是json格式的數據而已
給你兩個方法吧:
public static String do_post(String url, ListNameValuePair name_value_pair) throws IOException {
String body = “{}”;
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
HttpPost httpost = new HttpPost(url);
httpost.setEntity(new UrlEncodedFormEntity(name_value_pair, StandardCharsets.UTF_8));
HttpResponse response = httpclient.execute(httpost);
HttpEntity entity = response.getEntity();
body = EntityUtils.toString(entity);
} finally {
httpclient.getConnectionManager().shutdown();
}
return body;
}
public static String do_get(String url) throws ClientProtocolException, IOException {
String body = “{}”;
DefaultHttpClient httpclient = new DefaultHttpClient();
try {
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
body = EntityUtils.toString(entity);
} finally {
httpclient.getConnectionManager().shutdown();
}
return body;
}
設計一個java介面,接收json,並且將處理結果按json的格式返回
json說白了就是個字元串唄。
原來用servlet怎麼接受字元串參數,就怎麼接受json。
只不過這個json串一定要解析才能拿到想要的數據。
處理完後再生成一個json串用writer也好,跳轉頁面也好,總之把json輸出就算返回了。
處理json你可以不必自己寫代碼,從網上找個json的工具包就可以,推薦jackson
web環境下,servlet如何設計java介面接收json,並將處理結果按json格式返回?
JSONObject jsonObject = new JSONObject();\x0d\x0aMap map = request.getParameterMap();\x0d\x0aIterator it = map.keySet().iterator();\x0d\x0awhile(it.hasNext()){\x0d\x0aString key = (String)it.next();\x0d\x0aString[] values = (String[])map.get(key);\x0d\x0ajsonObject.accumulate(key, values[0]);\x0d\x0a}\x0d\x0a\x0d\x0aString name = jsonObject.getString(“userName”); //返回從前台接受的用戶名\x0d\x0aSystem.out.println(name); //輸出用戶名\x0d\x0a\x0d\x0ajsonObject.clear(); // 清空jsonObjec中的數據\x0d\x0ajsonObject.put(“love” , “足球”); //將足球賦給love這個變數名\x0d\x0aout.print(jsonObject); //返回json格式的數據
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/183717.html