這種方法有兩大步第一步是拼接需要的json數據,第二步是用servlet的內置對象response返回到前台。版
2
String 類型的數據可以不用權藉助任何工具直接返回,只要把它拼接對了就可以。如我需要返回一個{「success」:true,「msg」:「修改失敗!」}的json,就可以如下圖這樣寫。(注意,java里的引號要用的轉義字元「\」)
3
如果需要返回的是一個list或者別的類的化,需要用到JSONArray的輔助工具類,然後使用response.getWriter().print(),返回到打到前台。具體代碼如下圖。
② spring MVC註解問題及怎樣返回json數據
1、第一種方式是spring2時代的產物,也就是每個json視圖controller配置一個Jsoniew。
如:<bean id="defaultJsonView" class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"/>
或者<bean id="defaultJsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"/>
同樣要用jackson的jar包。
2、第二種使用JSON工具將對象序列化成json,常用工具Jackson,fastjson,gson。
利用HttpServletResponse,然後獲取response.getOutputStream()或response.getWriter()
直接輸出。
示例:
添加包
jackson-mapper-asl-*.jar
jackson-core-asl-*.jar
③ web環境下,servlet如何設計java介面接收json,並將處理結果按json格式返回
JSONObject jsonObject = new JSONObject();
Map map = request.getParameterMap();
Iterator<?> it = map.keySet().iterator();
while(it.hasNext()){
String key = (String)it.next();
String[] values = (String[])map.get(key);
jsonObject.accumulate(key, values[0]);
}
json說白了就是個字元串。
原來用servlet怎麼接受字元串參數,就怎麼接受json。
只不過這個json串一定要解析才能拿到想要的數據。
處理完後再生成一個json串用writer也好,跳轉頁面也好,總之把json輸出就算返回了。
處理json你可以不必自己寫代碼,從網上找個json的工具包就可以.
④ struts2怎麼返回json數據
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN"
"
<struts>
<packagename=""extends="json-default"namespace="">
<actionname=""class=""method="">
<resulttype="json">
以下是變數名為loginUser對象的某些指定屬性
<paramname="includeProperties">
loginUser.id,
loginUser.loginName,
loginUser.name,
loginUser.roleNames
</param>
以下是變數名為loginUser對象的全部屬性,多個對象用逗號
<paramname="includeProperties">
loginUser.*,
loginUser1.*
</param>
以下是集合里的某些指定屬性
<paramname="includeProperties">
weekScheles[d+].id,
weekScheles[d+].startDate,
weekScheles[d+].endDate,
weekScheles[d+].title,
weekScheles[d+].scheleCount
</param>
</result>
</action>
</package>
</struts>
注意package標簽,extends要寫成json-default
Struts2處理JSON只需要在xml文件里就可以完成,但是要注意,能夠直接作為JSON返回的必須是Action類里的屬性,方法中的屬性不能使用此方式直接返回
⑤ JAVA 開發 怎麼讓webservice輸出 json格式字元串
你轉成json的字元串,給webservice返回String就是了,不需要特別處理。客戶端收到按JSON解碼就是。
⑥ 設計一個java介面,接收json,並且將處理結果按json的格式返回
JSONObject jsonObject = new JSONObject();
Map map = request.getParameterMap();
Iterator<?> it = map.keySet().iterator();
while(it.hasNext()){
String key = (String)it.next();
String[] values = (String[])map.get(key);
jsonObject.accumulate(key, values[0]);
}
String name = jsonObject.getString("userName"); //返回從前台接受的用戶名
System.out.println(name); //輸出用戶名
jsonObject.clear(); // 清空jsonObjec中的回數據答
jsonObject.put("love" , "足球"); //將足球賦給love這個變數名
out.print(jsonObject); //返回json格式的數據
⑦ java如何返回json格式
publicstaticvoidreturnJson(HttpServletResponseresponse,CharSequencetext)
throwsException{
response.setContentType("application/json;charset=UTF-8");
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragrma","no-cache");
response.setDateHeader("Expires",0);
response.getWriter().write(text.toString());
}
其中text這個是JSONObject或者Map
response.setContentType("application/json;charset=UTF-8");這個表示以json格式返回
前台需要eval接收到的版數據,就是權json格式了