数据交换格式之 - Json
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的更多相关文章
- iOS 中 JSON 数据交换格式
JSON (JavaScript Object Notation)是一种轻量级的数据交换格式. JSON 的详细教程,能够參见 JSON 中国:http://www.json.org.cn/ ...
- 数据交换格式Json与XML
什么是数据交换格式: 主流的有Json.XML.HTML. 数据交换格式的应用场景: 移动端(安卓,IOS)通讯方式采用http协议+Json格式的restful风格. 很多互联网公司都是用Http协 ...
- 数据交换格式 JSON
1. 什么是 JSON 概念 : JSON 的英文全称是 JavaScript ObjEct Notation, 即 "JavaScript 对象表示法" . 简单来讲 : JSO ...
- 在.NET使用JSON作为数据交换格式
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zhoufoxcn.blog.51cto.com/792419/517093 我们 ...
- json 数据交换格式与java
http://wiki.mbalib.com/wiki/数据交换 数据交换是指为了满足不同信息系统之间数据资源的共享需要,依据一定的原则,采取相应的技术,实现不同信息系统之间数据资源共享的过程. 数据 ...
- 常用两种数据交换格式之XML和JSON的比较
目前,在web开发领域,主要的数据交换格式有XML和JSON,对于XML相信每一个web developer都不会感到陌生: 相比之下,JSON可能对于一些新步入开发领域的新手会感到有些陌生,也可能你 ...
- XML和JSON两种数据交换格式的比较
在web开发领域,主要的数据交换格式有XML和JSON,对于在 Ajax开发中,是选择XML还是JSON,一直存在着争议,个人还是比较倾向于JSON的.一般都输出Json不输出xml,原因就是因为 x ...
- Java 常见数据交换格式——xml、json、yaml
目录 数据交换格式介绍 XML 使用DOM方式解析 使用SAX方式解析 使用DOM4J方式解析 使用JDOM方式解析 JSON 使用JSONObject方式将数据转换为JSON格式 利用JSONObj ...
- JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式
JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 它基于JavaScript(Standard ECMA-262 3rd Edition - D ...
随机推荐
- java中 ++a 与 a++ 的区别
public static void main(String[] args) { int a = 5; a ++; System.out.println(a); int b = 5; ++ b; Sy ...
- python爬取凤凰网站的新闻,及其链接地址,来源,时间和内容,用selenium自动化和requests处理数据
有写规则需要自己定义判断. import requests from selenium import webdriver import time def grasp(urlT): driver = w ...
- Wireless Password HDU - 2825
题意: 给出m个模式串,要求构造一长度为n的文本串,至少包括k种模式串,求有多少种可能的模式串. k<=10 然后可以想到状压 一个文本串,k种模式串,很容易想到AC自动机. 把所有的模式串放 ...
- wpf 获取image控件的图片并保存
XMAL代码如下: <Image Name="ImageToSave" Source="Images/pic_bg.png" Grid.RowSpan=& ...
- 代码风格JavaScript standard style与Airbnb style
代码风格JavaScript standard style与Airbnb style
- 深入理解Java虚拟机(类加载机制)
文章首发于微信公众号:BaronTalk 上一篇文章我们介绍了「类文件结构」,这一篇我们来看看虚拟机是如何加载类的. 我们的源代码经过编译器编译成字节码之后,最终都需要加载到虚拟机之后才能运行.虚拟机 ...
- duilib教程之duilib入门简明教程3.第一个程序 Hello World
小伙伴们有点迫不及待了么,来看一看Hello World吧:新建一个空的win32项目,新建一个main.cpp文件,将以下代码复制进去: #include <windows.h> #in ...
- LUOGU P1453 城市环路(基环树+dp)
传送门 解题思路 一道基环树上$dp$的题,这种题比较套路吧,首先第一遍$dfs$把环找出来,然后对于环上的每一个点都向它子树内做一次树形$dp$,$f[i][0/1]$表示到了$i$这个点选或不选的 ...
- php数据结构课程---6、常见排序有哪些
php数据结构课程---6.常见排序有哪些 一.总结 一句话总结: 冒泡排序(Bubble sort):依次交换 选择排序 ( Selection Sort ):在未排序序列中找到最小(大)元素,依次 ...
- System.Web.Mvc.PartialViewResult.cs
ylbtech-System.Web.Mvc.PartialViewResult.cs 1.程序集 System.Web.Mvc, Version=5.2.3.0, Culture=neutral, ...