Json简介

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

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

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

JSON与XML的区别

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

② 没有结束标签

③ 更短

④ 读写书读更快

⑤ 使用数组

⑥ 不使用保留字

基本数据类型

● String:"" "字符串"

● Number:100 200 54.2

● Boolean:true false

● Null

Json语法格式:

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

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

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

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

fastjson文档介绍

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

fastjson优点

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

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

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

使用简单:fastjson的API十分简洁

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

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

         // 序列化 持久化
// Goods goods = new Goods("banner", "YcBanner", 100, 400);
// String json = JSON.toJSONString(goods);
// System.out.println(json); // 反序列化(解析)
// String s = "{\"des\":\"YcBanner\",\"inventory\":400,\"name\":\"banner\",\"price\":100}";
// Goods goods = JSON.parseObject(s,Goods.class);
// System.out.println(goods.getDes());
// System.out.println(goods.getInventory());
// System.out.println(goods.getName());
// System.out.println(goods.getPrice()); String s = "[{" + "\"name\":\"MJL\"," + "\"age\":\"20\"," + "\"sex\":\"男\"},"
+ "{" + "\"name\":\"TGN\"," + "\"age\":\"19\"," + "\"sex\":\"女\"},"
+ "{" + "\"name\":\"青鸟\"," + "\"age\":\"30\"," + "\"sex\":\"男\"}]";
List<UserTest> list = JSON.parseArray(s, UserTest.class);
for (UserTest ut : list) {
System.out.println(ut);
}

数据交换格式之 - Json的更多相关文章

  1. iOS 中 JSON 数据交换格式

         JSON (JavaScript Object Notation)是一种轻量级的数据交换格式. JSON 的详细教程,能够參见 JSON 中国:http://www.json.org.cn/ ...

  2. 数据交换格式Json与XML

    什么是数据交换格式: 主流的有Json.XML.HTML. 数据交换格式的应用场景: 移动端(安卓,IOS)通讯方式采用http协议+Json格式的restful风格. 很多互联网公司都是用Http协 ...

  3. 数据交换格式 JSON

    1. 什么是 JSON 概念 : JSON 的英文全称是 JavaScript ObjEct Notation, 即 "JavaScript 对象表示法" . 简单来讲 : JSO ...

  4. 在.NET使用JSON作为数据交换格式

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zhoufoxcn.blog.51cto.com/792419/517093 我们 ...

  5. json 数据交换格式与java

    http://wiki.mbalib.com/wiki/数据交换 数据交换是指为了满足不同信息系统之间数据资源的共享需要,依据一定的原则,采取相应的技术,实现不同信息系统之间数据资源共享的过程. 数据 ...

  6. 常用两种数据交换格式之XML和JSON的比较

    目前,在web开发领域,主要的数据交换格式有XML和JSON,对于XML相信每一个web developer都不会感到陌生: 相比之下,JSON可能对于一些新步入开发领域的新手会感到有些陌生,也可能你 ...

  7. XML和JSON两种数据交换格式的比较

    在web开发领域,主要的数据交换格式有XML和JSON,对于在 Ajax开发中,是选择XML还是JSON,一直存在着争议,个人还是比较倾向于JSON的.一般都输出Json不输出xml,原因就是因为 x ...

  8. Java 常见数据交换格式——xml、json、yaml

    目录 数据交换格式介绍 XML 使用DOM方式解析 使用SAX方式解析 使用DOM4J方式解析 使用JDOM方式解析 JSON 使用JSONObject方式将数据转换为JSON格式 利用JSONObj ...

  9. JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式

    JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 它基于JavaScript(Standard ECMA-262 3rd Edition - D ...

随机推荐

  1. 同步异步,异步回调,线程队列,线程时间Event

    同步异步-阻塞非阻塞 阻塞-非阻塞 指的是程序的运行状态 阻塞:当程序执行过程中遇到了IO操作,在执行IO操作时,程序无法继续执行其他代码,称为阻塞. 非阻塞:程序在正常运行没有遇到IO操作,或者通过 ...

  2. hexo next主题深度优化(十),博文加密,不需要插件,极简模式,相对安全,融合pjax。

    文章目录 效果: 代码: 注意: 背景: 思路: https://www.jianshu.com/p/90c0a15c6f36 http://zhailiange.com/2017/07/06/hex ...

  3. LightOJ-1138-Trailing Zeroes (III)-二分+求N!末尾0

    You task is to find minimal natural number N, so that N! contains exactly Q zeroes on the trail in d ...

  4. 18.scrapy_maitian

    ershoufang.py # -*- coding: utf-8 -*- import scrapy class ErshoufangSpider(scrapy.Spider): name = 'e ...

  5. NTT FWT(xor or and) 模板

    void nnt(int a[],int len,int on) { ;i<len;i++) if(i<r[i]) swap(a[i],a[r[i]]); ;i<len;i<& ...

  6. 测试环境添加spark parcel 2.1步骤

    1.先到http://archive.cloudera.com/spark2/parcels/2.1.0.cloudera1/ 下载需要的文件比如我linux版本需要是6的 hadoop6需要下载这些 ...

  7. 微软云数据库SQL Azure

  8. Apache下更改.htaccess文件名称

    有时候我们需要更改.htaccess的名称以解决一些问题 比如:Eclipse下是不显示点开头的文件的 所以我们可以使用  Apache的AccessFileName来更改此配置文件的名称 Acces ...

  9. php7 mysql_pconnect() 缺失 解决方法

    php7 兼容 MySQL 相关函数 PHP7 废除了 ”mysql.dll” ,推荐使用 mysqli 或者 pdo_mysql http://PHP.net/manual/zh/mysqlinfo ...

  10. 以太坊solidity智能合约语言学习资源整理

    暂时看到篇文章写的不错,先收集下来,后面有机会自己也整理一个 Solidity语言学习(一)Solidity语言学习(二)——Solidity的安装与编译Solidity语言学习(三)——智能合约编程 ...