JSON初识

来源:互联网 发布:淘宝如何使用分期付款 编辑:程序博客网 时间:2024/05/29 14:31

1、什么是JSON

          JSON(javascript Object Notation)是一种轻量级的数据交换格式。
          JSON是用字符串来表示javascript对象,例如可以在Servlet中发送一个JSON格式的字符串给客户端javascript,javascript可以执行这个字符串,得到一个javascript对象。
          XML也可以用来作为数据交换,可以在Servlet中发送XML给javascript,然后javascript在去解析XML

2、JSON对象语法

JSON语法:
          * 数据在 名称/值 的键值对中
          * 数据有逗号分隔
          * 花括号保存对象
          *方括号保存数组
例:
var person={"name":"zhangsan","age":18,"sex":"male"}

josn值:
       * 数字(整数或浮点数)
       * 字符串(在双引号中)
       * 逻辑值(ture或false)
       * 数组(在方括号中)
       * 对象(在方括号中)
       * null

注意:
        javascript中的eval()方法可以将字符串,转换成js代码来执行。
eg: eval( "(" + str + ")" ) //必须使用()将字符串括起来

3、json与xml比较

  • 可读性:xml较之更好一些
  • 解析速度:JSON本身就是javascript对象,所以简单很多,速度很快
  • 流行度:在ajax领域,JSON更受欢迎。

4、json-lib的应用(重点)

①什么是json-lib
        它可以把javabean转换json串
②使用的jar包
        核心jar包:
                json-lib.jar
        json-lib依赖的jar包:
                commons-lang.jar
                commons-beanutilis.jar
                commons-logging.jar
                commons-collection.jar
                ezmorph.jar
④核心类:
        * JSONObject —> Map
                》toString()
        * JSONArray —-> List
                 》toString()

当map使用时:

public void fun(){    JSONObject msp=new JSONObject();    msp.put("name","zhagnsan");    msp.put("age",23);    msp.put("sex","male");    String s=msp.toString();    system.out.println(s);}out:{"name":"zhangsan","age":23,"sex":"male"}

当你已经有一个对象时,可以把对象转换成JSONObject对象:
                      JSONObject.fromObject()

public void fun(){    Person p=new Person("lisi",32,"female");    JSONObject msp=JSONObject.fromObject(p);system.out.print(msp.toString());out:{"name":"lisi","age":32,"sex":"female"}}

当list使用时:

Person p=new Person("lisi",32,"female");JSONArray list=new JSONArray();list.add(p);system.out.println(list.toString());List<Person> list1=new ArrayList<Person>();//将list对象转换成JSONArray,在代用toString方法system.out.println(JSONArray.fromObject(list).toString());