2019独角兽企业重金招聘Python工程师标准>>>

多年以前一直用XML,xml格式几乎成了当时一种传输数据的标准,soap中,甚至http中皆传xml。直到有一天json出现了。

有关xml与json对比的文章,网上一大堆,个人认为实在没有必要。因为这是两个不同的东西。都有用武之地。

xml的定义《维基百科https://zh.wikipedia.org/wiki/XML》:

可扩展标记语言(英语:Extensible Markup Language,简称:XML),是一种标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用像XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath等。

json的定义《维基百科https://zh.wikipedia.org/wiki/JSON》:

JSONJavaScript Object Notation)是一种由道格拉斯·克罗克福特构想设计、轻量级的数据交换语言,以文字为基础,且易于让人阅读。尽管JSON是Javascript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯。

JSON 数据格式与语言无关,脱胎于 JavaScript,但目前很多编程语言都支持 JSON 格式数据的生成和解析。JSON 的官方 MIME 类型是 application/json,文件扩展名是 .json

从定义即可看出,xml强调的是语言,json强调的是数据格式。

好了重点说下我们在json中常用的需求吧,目前大部分都是使用的fastjson。

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.20</version>
</dependency>

我们常用的需求及用法如下:

json字符串-POJO对象

JSONObject jsonObject = JSON.parseObject(json);

POJO对象-json字符串

JSONObject jsonMsg = new JSONObject();
jsonMsg.put("content",content);
jsonMsg.put("orderId",orderId);
String jsonResult = JSONObject.toJSONString(jsonMsg);

集合-json字符串

这类常见于,我将集合序列化之后放入redis

redisUtil.set(String.valueOf(venderId), JSON.toJSONString(list));

json字符串-集合

从redis中取出,反序列话成对象

String value = redisUtil.get(String.valueOf(venderId));
list =JSON.parseArray(value, AnycallVender.class);

这些需求fastjson都能轻松的处理,还有更多的用法,可以参考:https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98

转载于:https://my.oschina.net/wangxindong/blog/798011

映入眼帘的JSON-fastjson常见用法相关推荐

  1. JS正则表达式常见用法实例详解

    这篇文章主要介绍了JS正则表达式常见用法,结合实例形式分析了javascript元字符.分组符.修饰符.量词基本含义,并结合具体案例形式分析了javascript正则基本使用技巧,需要的朋友可以参考下 ...

  2. python requests常见用法总结

    一.前言 requests是Python中一个用来发出HTTP请求的库,它将复杂的网络请求封装为一个简单的API以供用户调用,对于一般比较简单的爬虫程序而言,requests库足矣,今天博主分享一下r ...

  3. 爬虫库分享(一):requests常见用法总结

    一.前言 requests是Python中一个用来发出HTTP请求的库,它将复杂的网络请求封装为一个简单的API以供用户调用,对于一般比较简单的爬虫程序而言,requests库足矣,今天博主分享一下r ...

  4. sequelize常见用法

    sequelize 常见用法 建表设置某个字段独一无二 unique: true username: {type: DataTypes.STRING,allowNull: false,comment: ...

  5. mysql中正则表达式的用法_Mysql中正则表达式Regexp常见用法

    Mysql中Regexp常见用法 模糊匹配,包含特定字符串 # 查找content字段中包含"车友俱乐部"的记录 select * from club_content where ...

  6. python六:常见数据类型以及常见用法

    bool 布尔值 # 在bool中 0,()(空元祖),[](空列表),{}(空字典),None,""(空字符串) 都是False int 整形 float 浮点型 str 字符串 ...

  7. vue-router 的常见用法

    vue-router 的常见用法 1. 路由重定向 路由重定向指的是:用户在访问地址 A 的时候,强制用户跳转到地址 C ,从而展示特定的组件页面. 通过路由规则的 redirect 属性,指定一个新 ...

  8. 空的宏定义作用及常见用法

    空的宏定义作用及常见用法 我们学习宏定义的第一个概念是,宏定义作为替换作用. 例如: #define SIZE 32 // 接下来代码使用SIZE就相当于32 宏定义是编译器在编译时,将程序中所有SI ...

  9. Arrays常见用法

    Arrays常见用法

  10. sed文本处理常见用法

    sed文本处理常见用法    2011-06-24  TsengYia#126.com http://tsengyia.blog.chinaunix.net/   ################## ...

最新文章

  1. 2017,AI偏见为何如此受关注?
  2. geohash 附近搜索
  3. win7下搭建opengles2.0编程环境
  4. linux网卡Bond模式
  5. JavaScript实现求最大公约数 (GCD)的算法(附完整源码)
  6. 前端学习(2667):退出编辑状态
  7. NoSQL和传统数据库的区别
  8. 我的MVVM框架 v3教程——todos例子
  9. 樊登读书赋能读后感_一场人均4万元的知识盛宴,樊登直播首秀到底讲了什么?...
  10. if mysql sum 视图_MySQL(Excel透视)
  11. 更改Linux Shell的提示符
  12. WPF MediaElement循环播放
  13. Samsung SSD Magician 4.1三星固态硬盘优化工具官方中文版
  14. Markdown 写文档做笔记的利器
  15. 太厉害了,阿里大牛把Java服务端做成一张超全的知识微缩地图
  16. 傻瓜式自制鼠标光标,超简单
  17. 怎样做产品能甩同行一个时代?李彦宏说AI思维助你降维攻击
  18. Firefox火狐浏览器如何本地备份导入、导出密码
  19. tweenMax代码未定义问题
  20. zabbix使用自动发现添加主机

热门文章

  1. imopen和bwmorph_MATLAB图像处理中的应用
  2. python发送邮件带附件_Python发送邮件(带附件)
  3. java8 同步队列_秋招之路8:JAVA锁体系和AQS抽象队列同步器
  4. 学python去哪做项目_有哪些适合 Python 刚入门者去做的项目?
  5. Redis初学16:主从复制
  6. python中意外缩进是什么意思_Python 的缩进是不是反人类的设计?
  7. 【sql】实现分页查询
  8. arial unicode ms字体_5个检测商用字体和免费字体合集的网站
  9. 检测缓存文件是否超时
  10. C语言的一个之前没有见过的特性