zoukankan      html  css  js  c++  java
  • 数据交换格式之

    一、Json简介

    JSON是JavaScript对象表示法,是一种与语言无关的数据交换的格式,是一种完全独立于语言的文本格式

    使用ajax进行前后台数据交换,移动端与服务端的数据交换。

    web客户端和服务器通过AJAX(HTTP REQUEST)进行数据交换,而JSON是AJAX中最常用的数据格式;

    二、JSON与XML的区别

    ① 类似XML,比XML更小、更快、更用以解析。

    ② 没有结束标签

    ③ 更短

    ④ 读写书读更快

    ⑤ 使用数组

    ⑥ 不使用保留字

    三、基本数据类型

    1)String:"" "字符串"

    2)Number:100 200 54.2 

    3)Boolean:true false

    4)Null

    四、Json语法格式

    1)对象格式{"key1":obj,"key2":obj,"key3":obj...}

    2)数组/集合格式[obj,obj,obj...]

    对象格式和数组格式可以互相嵌套,一个对象中的一个属性可以是一个集合或数组

     1   //对象:{}允许为空
     2   {"name":"siki1","age":20,"sex":"男"},
     3   //数组:[]允许为空
     4   [ 100,200,320,400,600 ]
     5   //数组可以存储对象
     6   [
     7       {"name":"Cyan","age":20,"sex":"男"},
     8       {"name":"TGN-e","age":18,"sex":"女"},
     9       {"name":"MJL-in","age":19,"sex":"男"},
    10   ]

    五、fastjson文档介绍

    fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。

    六、fastjson优点

    1)速度快fastjson相对其他JSON库的特点是快,从2011年fastjson发布1.1.x版本之后,其性能从未被其他Java实现的JSON库超越

    2)使用广泛fastjson在阿里巴巴大规模使用,在数万台服务器上部署,fastjson在业界被广泛接受。在2012年被开源中国评选为最受欢迎的国产开源软件之一。

    3)测试完备fastjson有非常多的testcase,在1.2.11版本中,testcase超过3321个。每次发布都会进行回归测试,保证质量稳定。

    4)使用简单fastjson的API十分简洁

    序列化:String text = JSON.toJSONString(obj);
    反序列化:Vo vo = JSON.parseObject("{...}",VO.class);

    5)功能完备支持泛型,支持流处理超大文本,支持枚举,支持序列化和反序列化扩展。

     1         // 序列化 持久化
     2 //      Goods goods = new Goods("banner", "YcBanner", 100, 400);
     3 //      String json = JSON.toJSONString(goods);
     4 //      System.out.println(json);
     5 
     6         // 反序列化(解析)
     7 //      String s = "{"des":"YcBanner","inventory":400,"name":"banner","price":100}";
     8 //      Goods goods = JSON.parseObject(s,Goods.class);
     9 //      System.out.println(goods.getDes());
    10 //      System.out.println(goods.getInventory());
    11 //      System.out.println(goods.getName());
    12 //      System.out.println(goods.getPrice());
    13 
    14         String s = "[{" + ""name":"MJL"," + ""age":"20"," + ""sex":"男"}," 
    15                   + "{" + ""name":"TGN"," + ""age":"19"," + ""sex":"女"},"
    16                   + "{"    + ""name":"青鸟"," + ""age":"30"," + ""sex":"男"}]";
    17         List<UserTest> list = JSON.parseArray(s, UserTest.class);
    18         for (UserTest ut : list) {
    19             System.out.println(ut);
    20         }
  • 相关阅读:
    Java注释中TODO/FIXME/XXX的含义
    关于update set from where
    WEB打印控件Lodop
    jQuery自动完成组建Autocomplete
    Java触发器CronTrigger
    JVM知识点
    JAVA_OPTS
    java.lang.NoClassDefFoundError:TagSupport
    $SVN代码版本管理工具的使用
    $Eclipse+Tomcat搭建本地服务器并跑通HelloWorld程序
  • 原文地址:https://www.cnblogs.com/Dm920/p/11696903.html
Copyright © 2011-2022 走看看