学习日记:json之what,why,where,how及应用

原创 2015年11月21日 01:09: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格式的json
jsonJAVA = jsonJAVA.substring(1,jsonJAVA.length()-1);
System.out.println(jsonJAVA);

3W+2H:学习和思考问题的有效方式

         在测试工作中,肯定会遇到各种各样的知识点,如测试用例、手工测试、自动化测试、性能测试等等。如何全面的整理,深入的思考这些知识点,从而在广度和深度上同时能进行把握和探究?在实践中,发现...
  • roger_ge
  • roger_ge
  • 2010年05月17日 23:48
  • 5846

学习技术的三部曲:WHAT、HOW、WHY[1]

最近几天有些网友在邮件里面问我关于学习的问题。有很多人觉得工作了几年,也学会了不少的类库、框架、甚至语言,但是感觉自己的能力没有太大的提高。因此今天来?说一下我个人对这方面的体会。     我把学习...
  • cxzhq2002
  • cxzhq2002
  • 2011年09月17日 18:13
  • 408

Why-How-What黄金圈法则 的理解和运用

为什么同样生产数码产品,苹果的出品能带来充满与众不同的惊喜? 为什么同样遭受社会的其实,只有马丁路德金能够领导到美国的民权运动? 为什么有那么多拥有更大资源优势和能力优势的发明者,最后还是莱特兄弟...
  • zcl111
  • zcl111
  • 2017年05月19日 14:50
  • 805

学习日记:jQuery之what,why,where,how及应用 (上)

一、jQuery总介 1)什么是jQuery jQuery是第三方开源组织基于JavaScript写的一款跨主流浏览器的实用库 2)为什么要使用jQuery (1) jQuery开源免费,...
  • qq_16589321
  • qq_16589321
  • 2015年11月22日 00:23
  • 305

学习日记:jQuery之what,why,where,how及应用 (下)

② jQuery的方法 //当页面加载后将 id 为 'login' 的元素设置焦点: $(document).ready(function(){ $("#login").focus(); ...
  • qq_16589321
  • qq_16589321
  • 2015年11月22日 23:50
  • 635

敏捷转型中why与how的总结

敏捷转型中why与how的总结
  • lu_yongchao
  • lu_yongchao
  • 2017年02月28日 22:26
  • 1443

why+how+what

why+how+what
  • u010668910
  • u010668910
  • 2016年02月27日 21:02
  • 112

学习三部曲:WHAT、HOW、WHY

一个人学习的过程要经历以下三步,才可以说得上“学会”两字:第一步:WHAT  所谓的“WHAT”,就是搞清楚某个东东是什么?有什么用?有什么语法?有什么功能特性?第二步:HOW  所谓的“HOW”,就...
  • caimouse
  • caimouse
  • 2017年07月01日 20:13
  • 747

JSON学习笔记整理一

JSON学习笔记整理一JSON定义 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。 JSON语法 JSON 语法是 JavaScr...
  • a786132874
  • a786132874
  • 2016年01月12日 23:32
  • 835

WHAT、HOW、WHY

我把学习归类为三个步骤:What、How、Why。经过我对周围同事和朋友的观察,大部分感觉自己技术没有提高的人,都仅仅停留在What阶段。下面我把这三个步骤解释一下。...
  • u012410733
  • u012410733
  • 2017年04月04日 20:04
  • 296
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:学习日记:json之what,why,where,how及应用
举报原因:
原因补充:

(最多只允许输入30个字)