Ⅰ 使用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>