码迷,mamicode.com
首页 > Web开发 > 详细

JSON

时间:2018-01-01 19:37:22      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:hello   class   pac   excludes   response   value   导包   javabean   字符串   

关于json插件使用:
在java中,可以通过jsonlib插件,在java对象与json之间做转换。
关于jsonlib插件使用:
1.导包(6个包)
2.将java对象转换成json
1.对于数组,List集合,要想转换成json
     JSONArray.fromObject(java对象); ["value1","value2"]
2.对于javaBean,Map
     JSONObject.fromObject(javaBean对象); {name1:value1,name2:value2}
对于json数据,它只有两种格式
1.[值1,值2,...] ------>这就是javascript中的数组
2.{name:value,....} ---->就是javascript中的对象。
但是这两种格式可以嵌套.
[{},{},{}]
{name:[],name:[]}
 
3.如果javaBean中有一个属性,不想生成在json中,怎样处理?
JsonConfig config = new JsonConfig();
config.setExcludes(new String[] { "type" });
JSONArray.fromObject(ps, config).toString();
上述代码就是在生成json时,不将type属性包含.
 
 
struts2中json插件使用
1.struts2中怎样处理异步提交(ajax)
原始:
HttpServletResponse response = ServletActionContext.getResponse();
response.getWriter().write("hello " + msg);
response.getWriter().close();
 
还可以使用struts2中提供的json插件:
 
1.导入json插件包
在struts2的lib包下 struts2-json-plugin-2.3.15.1.jar。
2.在struts.xml文件中配置
1.<package extends="json-default">
2.设置视图<result type="json">
这样设置后,会将valueStack栈顶数据变成json。
对于我们的程序,也就是会将action对象转换成json。
<param name="root">p</param> 如果没有设置,可以理解成将整个action都转换成json的数据。也就是
在action中提供的getXxx方法,就是json中的一个属性。
 
如果设置了root,那么,只将指定数据转换成json.
 
--------------------------------------------------------
怎样设置转换成json的对象中不包含特定的属性?
1. @JSON(serialize=false) 在getXxx方法上设置
2. 还可以通过json插件的interceptor完成.
<param name="includeProperties">ps\[\d+\]\.name,ps\[\d+\]\.price,ps\[\d+\]\.count</param>
 
 
/**JavaScript Object Notation
* JSON和JS对象格式一样,只不过JSON字符串的属性名必须加双引号
* JSON分类:
* 1.对象{}
* 2.数组[]
*
* JSON允许的值:
* 1.字符串
* 2.数值
* 3.布尔值
* 4.null
* 5.对象
* 6.数组
*/

//创建一个对象
var obj=‘{"name":"ai","age":18,"gender":"female"}‘;
var arr=‘[1,2,3,"hello",true]‘;
var obj2=‘{"arr":[1,3,4]}‘;
var arr2=‘[{"name":"ai","age":18,"gender":"female"},{"name":"ai","age":18,"gender":"female"}]‘;

//将JSON字符串转换为JS对象
//json-->js
console.log(JSON.parse(obj).name); //ai
console.log(JSON.parse(arr)[2]); //3

//js-->json
console.log(typeof(JSON.stringify(obj))+"----"+JSON.stringify(obj));
//string----"{\"name\":\"ai\",\"age\":18,\"gender\":\"female\"}"

JSON

标签:hello   class   pac   excludes   response   value   导包   javabean   字符串   

原文地址:https://www.cnblogs.com/Aizongbin/p/8167998.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!