1. java 訪問一個介面得到介面返回JSON,步驟是怎麼做的
寫個servlet,將結果轉換成ArrayJson對象,列印出這個json就行,前端通過ajax去請求獲得json數據。java轉json需要用到相應的jar包,網路一下吧。
java中的介面是一種特殊的類,使用關鍵字interface創建。介面功能完全實現後,可以打成jar包,提供給其他公司使用。
要返回json格式數據,可以把介面中抽象方法的返回值類型規定為JSONObject或JSONString類型。這樣當其他公司調用時,得到的數據就是json數據了。
另外,以jar形式提供的介面,可以通過反編譯得到你的源碼,如果你不希望開源,就要加密了。
訪問介面時code返回2怎麼回事
一般情況介面有調用說明的睜寬,需要看介面提供方提供的說明。
AFHTTPRequestOperationManager 進行post調用,
manager.requestSerializer = [AFJSONRequestSerializer serializer];請求
manager.responseSerializer = [AFJSONResponseSerializer serializer];響應
入參出參都會序列化;後面發現介面返回的參數結構不固定,可能是map,array,string
我印象中如果不重寫pareTo方法那返回值都是-1吧......
我一般都是實現Comparable介面,重寫CompareTo方法就可以了。
至於降序升序,可以這樣比較:
假如A的值大於B,你返回1。這樣調用Collections.sort()方法就是升序
假如A的值大於B,你返回-1。這樣調用Collections.sort()方法臘襲就是降序
一般比較的都是對象中一個具體的數值。不知道你的類的構造,不好給例子
struts2中用rest後台返回json的方法是統一封裝response為JSONObject即可。舉例如下:importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;import.opensymphony.xwork2.Action;publilassTest{publicMapresponseJson;publicMapgetResponseJson(){returnresponseJson;}publicvoidsetResponseJson(MapresponseJson){this.responseJson=responseJson;}publicStringgetList(){Mapmap=newHashMap();List>list=newArrayList>();for(inti=0;im=newHashMap();m.put("id",i);m.put("name","Mic"+i);list.add(m);}map.put("rows",list);map.put("totalCont",3);this.setResponseJson(map);returnAction.SUCCESS;}}
可以的,以GET請求為例
var = require('');
var qs = require('querystring');
var data = {
a: 123,
time: new Date().getTime()};這是需要提交的數據輪早兄
var content = qs.stringify(data);
var options = {
hostname: 飗.0.0.1',
port: 10086,
path: '/pay/pay_callback?' + content,
method: 'GET'
};
var req = .request(options, function (res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
});
req.on('error', function (e) {
console.log('problem with request: ' + e.message);
});
req.end();
1
這種方法有兩大步第一步是拼接需要的json數據,第二步是用servlet的內置對象response返回到前台。
2
String 類型的數據可以不用藉助任何工具直接返回,只要把它拼接對了就可以。如我需要返回一個{「suess」:true,「msg」:「修改失敗!」}的json,就可以如下圖這樣寫。(注意,java里的引號要用的轉義字元「」)
3
如果需要返回的是一個list或者別的類的化,需要用到JSONArray的輔助工具類,然後使用response.getWriter().print(),返回到打到前台。具體代碼如下圖。
END
方法2:用Spring框架
如果你使用了Spring框架那就更簡單了,你只需要在你的方法返回的時候加一個@ResponseBody的註解就可以了。就這么簡單。
在java中,調用請求介面,主要通過流的方式進行調用,示例介面如下:
/**
* 程序中訪問數據介面
*/
public String searchLoginService(String urlStr) {
/** 網路的url地址 */
URL url = null;
/** 連接 */
HttpURLConnection Conn = null;
/**** 輸入流 */
BufferedReader in = null;
StringBuffer *** = new StringBuffer(); ...
2. java 怎麼取json 欄位的數據
JSONObjectj首爛困=歷臘newJSONObject();
j.put("id","22");
j.put("name","haha");
j.put("sex","xixi");
System.out.println(j.get("者念id"));
3. java 中怎麼取json對象中的數據
如果是簡單的json
字元串
,
那麼可鬧跡塵以使用字元串的截取
來獲取
需要的數據
如州臘果是比較復雜的json對象液禪,
那麼可以使用第三方的jar,
去解析json
比如
gson
,fastjson
等都是不錯的選擇~效率也比較高
4. java怎麼讀取json格式的數據
你好,Java讀取json數據格式,你只需要使用JsonStore 等等工具包即可進行便捷的讀取了。代碼比較敬啟簡單,通俗易懂,具體JsonStore可以網路一下亮旅如詳細信息。鎮局
5. 怎樣從java後台獲取json字元串並轉換為json對象輸出
使用json-lib.jar這個工具x0dx0apublic String getJson(Object obj){x0dx0a JSONObject json;x0dx0a json = JSONObject.fromObject(obj);x0dx0a return json.toString();x0dx0a}x0dx0a使用jquery來處理jsonx0dx0a//轉換為json數據 datas可以用ajax從後台獲取上面getJson中的數據x0dx0avar jsonDatas = eval("(" + datas + ")");x0dx0a //循環遍歷數據x0dx0ajQuery.each(jsonDatas, function(item) {x0dx0a//循環x0dx0a});
6. java怎麼取json數據的值
獲取JSON的值。 就是解析JSON數據.
如果是簡單的JSON數據, 並且只需要提取少量數據的值, 那麼可以使用字元串的操作來實現,比如String.subString()...等
如果是比較復雜的JSON數據,或者需要提取的值比較多, 那麼可以使用Gson, FastJSon 等第三方的jar來實現...
簡單的Demo示例
第三方包使用的是Gson
importcom.google.gson.JsonElement;
importcom.google.gson.JsonObject;
importcom.google.gson.JsonParser;
publicclassGsonTest{
publicstaticvoidmain(String[]args){
StringstrJson="{"name":"張三","age":12}";
JsonParserparser=newJsonParser();
JsonElementje=parser.parse(strJson);
JsonObjectjobj=je.getAsJsonObject();//從json元素轉變成json對象
Stringname=jobj.get("name").getAsString();//從json對象獲取指定屬性的值
System.out.println(name);
intage=jobj.get("age").getAsInt();
System.out.println(age);
}
}
7. java後台怎樣獲取前台的json數據
一般是這樣的,先缺枝將對象類型(在js中json就是一個對象),使用json.js(有些瀏覽器支持,有些需要引入)的方法:
JSON.parse(jsonstr); //可伏哪敏以將json字元串緩余轉換成json對象
JSON.stringify(jsonobj); //可以將json對象轉換成json對符串
的第二個轉換成字元串,然後把字元串當作一個參數的值再為其添加一個key然後以key/value的格式將數據傳到後台。
之後後台使用request.getParameter();的方式得到json數據。
8. java怎麼得到json中的數據
如果不是Android開發環境的話,首先需要引入處理JSON數據的包:json-lib-2.2.3-jdk15.jar
Java樣常式序如下:
importnet.sf.json.JSONArray;
importnet.sf.json.JSONObject;
publicclassDoJSON{
publicstaticvoidmain(String[]args){
JSONArrayemployees=newJSONArray(); //JSON數組
JSONObjectemployee=newJSONObject(); //JSON對象
employee.put("firstName","Bill"); //按「鍵-值」對形式存儲數據到JSON對象中
employee.put("lastName","Gates");
employees.add(employee); //將JSON對象加入到JSON數組中
employee.put("firstName","George");
employee.put("lastName","Bush");
employees.add(employee);
employee.put("firstName","Thomas");
employee.put("lastName","Carter");
employees.add(employee);
System.out.println(employees.toString());
for(inti=0;i<employees.size();i++){
JSONObjectemp=employees.getJSONObject(i);
System.out.println(emp.toString());
System.out.println("FirstName: "+emp.get("firstName"));
System.out.println("LastName: "+emp.get("lastName"));
}
}
}
運行效果:
[{"firstName":"Bill","lastName":"Gates"},{"firstName":"George","lastName":"Bush"},{"firstName":"Thomas","lastName":"Carter"}]
{"firstName":"Bill","lastName":"Gates"}
FirstName : Bill
LastName : Gates
{"firstName":"George","lastName":"Bush"}
FirstName : George
LastName : Bush
{"firstName":"Thomas","lastName":"Carter"}
FirstName : Thomas
LastName : Carter
9. java怎麼獲取json對象中的數據
如果是簡單的JSON 字元串 , 那麼可以使用棚敗並字元串的截取 來獲取 需要的數據
如鏈跡果枯衡是比較復雜的JSON對象, 那麼可以使用第三方的jar, 去解析JSON
比如 GSON ,Fastjson 等都是不錯的選擇~效率也比較高