Ⅰ 使用gson將list轉json的時候編碼格式怎麼設置
對象轉json在.net 里最常見的是兩種方式:
1. 第三方工具 Newtonsoft , 非常好用;
2. .net 自身帶的 #2 樓已說。
但在.net 的 MVC 3 中, 可以很簡單地將對象轉化為json.
public JsonResult GetListJSON()
{
List<MyClass> list = db.SortList.ToList();
return Json(list, JsonRequestBehavior.AllowGet);
}
只要你能得到 list 對象, 可以直接用 Json 方法將 list 對象轉換為 JsonResult 的, 其實也相當於json 字元串的了。 然後你在前台用 jquery 寫個什麼 $.post 或 $.ajax 接收就好了。
Ⅱ 把一個list以json的格式返回回去怎麼寫
List<Map<String,String>> list=new ArrayList();
Map<String,String> m1=new HashMap();
m1.put(「xx...」, 「yyyy-mm-dd」);
m1.put(「xxx....」, "yyyy-mm-dd");
list.add(m1);
Map<String,String> m2=list.get(0);
Set s=m2.entrySet();
Iterator it=s.iterator();
while(it.hasNext()){
Map.Entry e=(Map.Entry)it.next();
String jsonkey=e.getKey();
String jsonval=e.getValue();
System.out.println("{key:'"+jsonkey+"',value:'"+jsonval+"'}");
}
像這樣後台把值拿出來,然後把這個值傳給前台就可以了
Ⅲ springmvc接收json格式參數需要什麼配置
$("#btSaveTemplate").click(function()
{
// alert($("#templateName").val());
var data = {"info":{"templateName":$("#templateName").val(),"templateNo":"tmp156464"}};
var data2 = {"templateName":$("#templateName").val()};
$.ajax({
type: "get",//使用get/post方法訪問後台
dataType: "json",//返回json格式的數據
url: "lotty/add",//要訪問的後台地址
data: data,
success: function(msg){//msg為返回的數據,在這里做數據綁定
if(msg == '1'){
alert('操作成功');
location.reload();
}
},
error: function(jqXHR, textStatus, errorThrown) {
alert("error:" + textStatus + " exception:" + errorThrown);
}
});
後台spring確實收到了請求,並且執行了相應的方法,如下:
Java代碼
@ResponseBody
@RequestMapping(value="/add", method=RequestMethod.GET)
public String doAdd([color=red][b]String info[/b][/color],Model model) throws Exception;
紅色粗體的地方,用String接收是null,改用List和HashMap都不行,後來在SPRING的JAR包中,翻到一個MappingJacksonJsonView,嘗試了下,還是空值。之後,我在方法里加了HttpServletRequest參數,郁悶的是:request裡面的parameter部分為空
我想可能是SPRING注入處理JSON類的地方出錯了,但是這個也不太可能。因為我傳最基本的純key-value結構的JSON數據,後台能成功捕獲到(我的做法比較笨,前台有多少個key,controller方法里有多少個對應參數的那種)
這是我SPRING的相關配置:
Java代碼
<bean id="" class="org.springframework.http.converter.json."/>
然後注入:
Java代碼
<bean class="org.springframework.web.servlet.mvc.annotation.">
<property name="messageConverters">
<list>
<ref local=""/>
</list>
</property>
</bean>
到此,實在不知道其他的解決方法了。
我的想法是,在實際應用中如果做批量插入的話,可以一次提交一個大的JSON數據,在後台里解析成JSONObject對象,再逐步取值。試了大半天,沒有結果,上來問問大家,SPRING3裡面JSON做參數的一些經驗。
問題補充:
amcucn 寫道
簡單點的方法以就是直接將你要傳的json數據當成一個字元串提交到後台,後台使用JSONObject相關的方法 可以直接轉成對應的MAP對象。然後你就可以處理了。大致的想法就是繞過springmvc本身的json處理類,把你想的"JSON"當成字元串傳到後台。
也只能這樣,看來SPRING3.0.5並沒有能夠很好的集成JSONObject的解決方案,只是死板地提供了參數對應和VO去封裝JSON信息。
Ⅳ 如果json的值類型是list 那應該怎樣輸出
jsp方面
$.post(
"test.action",//請求
,//參數
function(data){//返回值
//假如你struts2那邊的集合名為persons
var list = data.persons;
最好判斷下
if(list.length>0){
for(var i=0;i<list.length;i++){
}
}
},
"json"
);
java方面
就是配置問題
<package name="" extends="json-default"> 主配置文件 必須是extends="json-default" 別忘引jar包
<action name="" class="">
<result name="" type="json"> 返回 type="json"
其餘的你要是會struts2 應該就沒問題了
AJAX 你可以網路一下 很多的 再說 jquery 的API上也有這些東西
Ⅳ 如何將list類型的數據轉換成json格式在伺服器端
新建一個Web項目(或Java項目)
打開項目,在Java中的package滑鼠右鍵,依次操作「New--->Class」,如下圖所示:
這時,彈出新建Java類窗口,填寫以下信息
(1)Source folder:源文件夾
(2)Package:包
(3)Name:類名
勾選下方的主函數和注釋
如下圖所示:
創建完畢後,看到Java類代碼,如下圖所示:
導入有關的json jar包,編寫List和JSONArray,編寫完成後滑鼠右鍵運行應用程序,如下圖所示:
Ⅵ 如何將list類型的數據轉換成json格式在伺服器端
客戶端瀏覽器在接收到伺服器端返回來的json數據之後,需要進行解析,解析成json對象,然後利用jquery技術將對象中的欄位加入到表格中
這個功能其實就是查詢功能
//用於頁面初始化的時候載入數據使用 //並且將載入到的數據放入到表格中 function queryPerson(){ //查詢數據 $.post('../../PersonServlet1',null, function(data){ //eval函數可以把從伺服器端返回到客戶端的字元串轉換成json對象 var jsonOBJ = eval("("+data+")"); //data是伺服器端將list類型的對象轉換成json格式後返回來的,也就是json格式的字元串 //所以我們在瀏覽器端只需要在將json格式的字元串在轉換成我們需要的格式對象就可以了 for(var i=0;i<jsonOBJ.length;i++) { //得到 所需要的數據,也就是將json對象中的數據提取
Ⅶ 如何用java實現list轉換成json格式
首先要導入json包
importnet.sf.json.JSONObject;
importnet.sf.json.JSON;
list轉成json數組:
JSONArrayarr=JSONArray.formObject(cc);
再講json數組放入json對象:
JSONObjectjson=newJSONObject();
json.put("obj",arr);
要下載第三方的jar包,你自己找找啊
Ⅷ 如何將一個list 轉換為json格式
只要改變了struts2中的配置文件中的返回值類型就可以了 當返回一個list時 一般使用的是name="root" 當返回一個屬性的時候用的是name="includeProperties"
<result type="json" name="loadTypeInforToPaixu">
<param name="root">extJsPageBean</param>
</result>