学习日记:json之what,why,where,how及应用
来源:互联网 发布:为什么淘宝比京东便宜 编辑:程序博客网 时间:2024/05/01 02:29
一、json总介
1)什么是json
(1)json是ajax与服务器一种轻量级数据交换技术;
(2)json本质上是用JavaScript语法书写的一种具有特定格式的文本字符串
2)为什么要使用json
(1)在js中用于简化创建对象;
(2)能够代替xml作为ajax与服务器交互的技术;
3)在哪里使用json
(1)在js中用于简化创建对象;
(2)作为ajax与数据库交互的载体之一
4)怎么使用json
//定义一个对象var user = { id : 123456 name : "张三";//字符串的话必须加上双引号;};//定义一个数组var array = [ {}, {}];//定义一个复杂的对象 var p = { id:1, name:'哈哈', isLove:true, home:['广州','深圳'], show : function(str){ alert("你是" + str); } }; //document.write(p.isLove?"已婚":"单身"+"<br/>"); p.show("**");
5)json的应用
当json作为ajax与服务端交互的载体的时候,服务端需要把传输的对象数据转成json,可以将list,map,set或者自定义对象转json ,有两种方法:
(1)struts提供这个功能实现步骤
1、必须导入包struts2-json-plugin-2.3.4.1;
2、在配置的文件必须将 extends=”json-default”,且必须提供一个result type =“json” 如下
<package name="myPackage" extends="json-default" namespace="/"> <!-- 全局结果类型,也能配置在具体的action标签中--> <global-results> <result name="success" type="json"/> </global-results>
3、在Action中必须有对象的get方法,比如;
private List<String> cityList;//城市的集合 public List<String> getCityList() { return cityList; }
4、jsp页面中必须把java格式的json转换成JavaScript格式的json
var jsonJAVA = ajax.responseText;//p所代表的是java格式的json文本,是不能直接被js执行的//解决方案:将java格式的json文本,转成js格式的json文本//如何做:用js提供的一个函数搞定var jsonJS = eval("("+jsonJAVA+")";
(2)或者使用第三方的工具 必须导入的包有
1、commons-beanutils-1.7.0.jar
commons-collections-3.1.jar
commons-lang-2.5.jar
commons-logging-1.1.1.jar
ezmorph-1.0.3.jar
json-lib-2.1-jdk15.jar
2、
JSONArray jSONArray = JSONArray.fromObject(map);String jsonJAVA = jSONArray.toString();System.out.println(jsonJAVA);//[{"total":2,"rows":[{"id":1,"name":"中山"},{"id":2,"name":"佛山"}]}]//将首尾的方括号去掉才符合JavaScript格式的jsonjsonJAVA = jsonJAVA.substring(1,jsonJAVA.length()-1);System.out.println(jsonJAVA);
0 0
- 学习日记:json之what,why,where,how及应用
- 学习日记:jQuery之what,why,where,how及应用 (上)
- 学习日记:jQuery之what,why,where,how及应用 (下)
- 学习三部曲:WHAT、HOW、WHY
- Java Native Interface: Who When Where What Why How
- 学习技术的三部曲:WHAT、HOW、WHY
- 学习技术的三部曲:WHAT、HOW、WHY
- 学习技术的三部曲:WHAT、HOW、WHY
- 学习技术的三部曲:WHAT、HOW、WHY
- 学习技术的三部曲:WHAT、HOW、WHY
- 学习技术的三部曲:WHAT、HOW、WHY
- 学习技术的三部曲:WHAT、HOW、WHY
- 学习技术的三部曲:WHAT、HOW、WHY
- 学习技术的三部曲:WHAT、HOW、WHY
- 学习技术的三部曲:WHAT、HOW、WHY
- 学习技术的三部曲:WHAT、HOW、WHY
- 学习技术的三部曲:WHAT、HOW、WHY
- 学习技术的三部曲:WHAT、HOW、WHY
- GCD—主队列
- 软件测试人员应具备的素质
- 视图的生命周期
- SSH整合过程中出现的问题:could not fetch initial value for increment generatorat..
- 黑马程序员_iOS_OC_ARC
- 学习日记:json之what,why,where,how及应用
- Java中的Timer和TimerTask的用法
- Android Studio的导包依赖问题
- ISG pwnme100 poc 学习
- wxpython学习5
- Genymotion Eclipse插件安装
- {Elements of Programming}
- [黑马IOS自学第四篇]C语言函数,进制,Unix命令、函数学习
- LightOJ - 1188 Fast Queries(离线树状数组)