A. android 用rxjava和retrofit時怎麼解決返回數據類型不一致
1 這種方法有兩大步第一步是拼接需要的json數據,第二步是用servlet的內置對象response返回到前台。 2 String 類型的數據可以不用藉助任何工具直接返回,只要把它拼接對了就可以。如我需要返回一個{「success」:true,「msg」:「修改失敗!」}的json,就可以如下圖這樣寫。(注意,java里的引號要用的轉義字元「\」) 3 如果需要返回的是一個list或者別的類的化,需要用到JSONArray的輔助工具類,然後使用response.getWriter().print(),返回到打到前台。具體代碼如下圖。 END 方法2:用Spring框架 如果你使用了Spring框架那就更簡單了,你只需要在你的方法返回的時候加一個@ResponseBody的註解就可以了。就這么簡單。
B. Java解析json數據
JSONObject dataJson=new JSONObject("你的抄Json數據「);
JSONObject response=dataJson.getJSONObject("response");
JSONArray data=response.getJSONArray("data");
JSONObject info=data.getJSONObject(0);
String province=info.getString("province");
String city=info.getString("city");
String district=info.getString("district");
String address=info.getString("address");
System.out.println(province+city+district+address);
C. 如何用Java拼接JSON方式遍歷整個樹形節點
//是類似這種嗎
//控制層使用JSONArrayjsonObject=JSONArray.fromObject();轉換
Map<String,Object>map=newHashMap<String,Object>();
map.put("id","1");
map.put("text","實驗外國語學校");
List<Map<String,Object>>fatherList=newArrayList<Map<String,Object>>();
List<Map<String,Object>>list=newArrayList<Map<String,Object>>();
for(Beanbean:list){
if("1".equals(list.getParent_level())){
Map<String,Object>map2=newHashMap<String,Object>();
map2.put("id",list.getId());
map2.put("text",list.getName());
list.add(map2);
}
}
map.put("children",list);
D. python中如何遍歷json數組
1、創建python文件,testjson.py;
E. js遍歷json對象讀數據
通用方法:版
function printAll(obj){
for(var k in obj){
var v=obj[k];
if(typeof(v)!="object"){
document.writeln(k+"是權"+v+"<br/>");
}else{
printAll(v);
}
}
}
printAll(json);
F. 為什麼遍歷json的時,當key為0,1,2,3之類的數字的時候會自動按照key的大小排序
jquery解析json的時候,如果key是數字,會默認升序排列,沒辦法的,除非不用數字做key
G. Js 怎麼遍歷json對象所有key及根據動態key獲取值
json是種常用數據傳輸格式,js怎麼解析json格式的數據呢,請參閱下面的代碼:
[html] view plain print?
<html>
<head>
<scripttype="text/javascript">
vardata='{"return_code":0,"return_message":"success","data":{"data":[{"id":"1","question":"公主令牌在哪交?"},{"id":"2","question":"公主護使有什麼用?"},{"id":"3","question":"角斗場在哪?"},{"id":"4","question":"北部斷層在哪?"},{"id":"5","question":"歡樂令有什麼用?"},{"id":"6","question":"令牌積分有什麼用?"},{"id":"7","question":"南部斷層在哪?"},{"id":"8","question":"大妖魔令牌交給誰?"},{"id":"9","question":"神工坊在哪?"},{"id":"10","question":"警戒妖珠有什麼用?"}]}}';
functionShowData(){
varobj=eval("("+data+")");
alert("return_code:"+obj["return_code"]);
alert("return_message:"+obj["return_message"]);
alert("第一個問題id:"+obj["data"]["data"][0]["id"]);
alert("第一個內容id:"+obj["data"]["data"][0]["question"]);
}
</script>
</head>
<bodyonload="ShowData();">
{"return_code":0,"return_message":"success","data":{"data":[{"id":"1","question":"公主令牌在哪交?"},{"id":"2","question":"公主護使有什麼用?"},{"id":"3","question":"角斗場在哪?"},{"id":"4","question":"北部斷層在哪?"},{"id":"5","question":"歡樂令有什麼用?"},{"id":"6","question":"令牌積分有什麼用?"},{"id":"7","question":"南部斷層在哪?"},{"id":"8","question":"大妖魔令牌交給誰?"},{"id":"9","question":"神工坊在哪?"},{"id":"10","question":"警戒妖珠有什麼用?"}]}}
</body>
</html>
H. struts2 怎樣讀取json數據
一.認識JSON
JSON是一種輕量級、基於文本、與語言無關的數據交換格式,可以用文本格式的形式來存儲或表示結構化的數據。
二.POST請求與Content-Type: application/json
常用的HTTP請求方法有GET, POST, PUT, DELETE等。在提交POST請求時,請求數據放在消息體(Body)中,請求數據的格式及編碼方式用Content-Type來指定。如我們常用的表單<form>提交,其Content-Type默認為application/x-www-form-urlencoded,提交的數據按照key1=val1&key2=val2進行編碼,伺服器端也能很容易地解析K-V值。
JSON的出現,讓交換的數據不再僅限於簡單的K-V結構,而可以有更加復雜的層級,特別適合於RESTful介面。在發送請求時,指定Content-Type為application/json,即可使用JSON字元串作為請求的數據。而在伺服器端接收到該請求後,將按照JSON字元串對請求數據進行處理。
三.Struts2接收JSON請求
在Struts2的Action中提取Content-Type為application/x-www-form-urlencoded的POST參數,我們非常熟悉:在Action中定義屬性及其getter, setter方法,接收到請求時,默認會將與屬性同名的參數值賦予該屬性。
但是對Content-Type為application/json的請求數據,Struts2默認無法解析。因為請求的JSON數據需從輸入流中讀取出來,無法直接從ServletRequest的請求參數中解析。很容易想到,要讀取JSON請求數據,最直接的方式就是從輸入流讀取。而同時,Struts2的strus2-json-plugin也提供了有關的攔截器,對JSON請求數據進行解析。下面將對兩種方案進行分析:
1.從輸入流中讀取JSON請求數據,以下是在Action中實現的一個讀取輸入流數據的方法
解析得到JSON對象後,遍歷JSON對象,取出K-V,通過反射的V設置給予K相同的屬性
開發者可根據自己的需求進行選擇:從輸入流直接讀取JSON請求數據,或使用struts2-json-plugin對JSON請求數據進行處理。
I. json數組存儲了兩個對象,要怎麼遍歷
for(variinjson.all)
console.log(json.all[i].menuid+":"+json.all[i].menuname);
for(variinjson.user)
console.log(json.user[i].menuid+":"+json.user[i].menuname);
或者
for(varkeyinjson){
for(variinjson[key])
console.log(json[key][i].menuid+":"+json[key][i].menuname;
}
裡面的json就是你的json對象。如果是文本格式,就先用JSON.parse轉化一下
J. android怎麼遍歷jsonobject
android 讀取json數據(遍歷JSONObject和JSONArray)
•public String getJson(){
• String jsonString = "{\"FLAG\":\"flag\",\"MESSAGE\":\"SUCCESS\",\"name\":[{\"name\":\"jack\"},{\"name\":\"lucy\"}]}";//json字元串
• try {
• JSONObject result = new JSONObject(jsonstring);//轉換為JSONObject
• int num = result.length();
• JSONArray nameList = result.getJSONArray("name");//獲取JSONArray
• int length = nameList.length();
• String aa = "";
• for(int i = 0; i < length; i++){//遍歷JSONArray
• Log.d("debugTest",Integer.toString(i));
• JSONObject oj = nameList.getJSONObject(i);
• aa = aa + oj.getString("name")+"|";
•
• }
• Iterator<?> it = result.keys();
• String aa2 = "";
• String bb2 = null;
• while(it.hasNext()){//遍歷JSONObject
• bb2 = (String) it.next().toString();
• aa2 = aa2 + result.getString(bb2);
•
• }
• return aa;
• } catch (JSONException e) {
• throw new RuntimeException(e);
• }
• }