JSON

Posted aizongbin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON相关的知识,希望对你有一定的参考价值。

关于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的主要内容,如果未能解决你的问题,请参考以下文章

json 可视代码工作室Angular with Firebase片段

vs code 用户代码片段 html.json

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”

如何在android中将json数据加载到片段中

使用 json rereiver php mysql 在片段中填充列表视图

VS Code配置markdown代码片段