json格式:
{key:value,key1:value1....}
如果返回的数据包含多个对象:
[{key1:value1...},{key2:value2....}]
struts2中的json格式数据传到页面的方法:思路:后台action要把传递到页面的属性封装到map中,然后封装好的数据将会被Struts2转换成JSON字符串。
1、action层的代码:
public class JsonAction extends ActionSupport{
private static final long serialVersionUID = 1L
private Map<String,Object>dataMap
private String key = "Just see see"
public String json() {
// dataMap中的数据将会被Struts2转换成JSON字符串,所以这里要先清空其中的数据
dataMap = new HashMap<String, Object>()
User user = new User()
user.setName("张三")
user.setPassword("123")
dataMap.put("user", user)
// 放入一个是否 *** 作成功的标识
dataMap.put("success", true)
// 返回结果
return SUCCESS
}
public Map<String, Object>getDataMap() {
return dataMap
}
//设置key属性不作为json的内容返回
@JSON(serialize=false)
public String getKey() {
return key
}
}
2、配置aciton,在struts.xml中的写法如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="json" extends="struts-default,json-default" >
<action name="json" class="json.JsonAction" method="json">
<result type="json">
<!-- 这里指定将被Struts2序列化的属性,该属性在action中必须有对应的getter方法 -->
<param name="root">dataMap</param>
</result>
</action>
</package>
</struts>
3、最终的输出结果:
{"success":true,"user":{"name":"张三","password":"123"}}
4、用js来解析:使用现成的JSON.parse() 来解析即可。
JSON.parse() 方法可以将一个 JSON 字符串解析成为一个 JavaScript 值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)