商城网站前期seo应该怎么做,深圳龙华医院网站建设,2018年互联网大会,汽车行业市场分析那个网站做的好前言
这篇文章参考于知乎#xff0c;进行了一些总结。
正文
首先什么是序列化#xff0c;数据序列化是从一个系统获取一些信息#xff0c;将其转换为其它系统可以读取的格式#xff0c;然后将其传递给其它系统的过程。也就是可以让不同系统“通信”。
序列化需要满足两…前言
这篇文章参考于知乎进行了一些总结。
正文
首先什么是序列化数据序列化是从一个系统获取一些信息将其转换为其它系统可以读取的格式然后将其传递给其它系统的过程。也就是可以让不同系统“通信”。
序列化需要满足两个特点一是易于人类读写二是易于机器读写。但这两点很难同时满足因为人类喜欢更具表现力的、松散的、灵活的格式标准而机器倾向于被确切告知一切事情而且没有二义性和细节的缺失。
有很多种序列化的格式JSON、XML、TOML、CSON、YAML等当然这些在传输的过程中还是要转换成二进制的它们只是两个系统间通信的标准能够互相读取。下面对它们分别进行简单的说明。
XML
虽然易于人类阅读和编写但 XML 过于冗长和啰嗦包含很多不必要的语法。即使对计算机解析也是一个负担因为需要处理各种边缘情况。如今除了 HTML/SVG 等特定场景XML 在 Web 数据交换中的使用已经不多。
book idbk101authorGambardella, Matthew/authortitleXML Developers Guide/titlegenreComputer/genreprice44.95/pricepublish_date2000-10-01/publish_datedescriptionAn in-depth look at creating applications with XML./description
/bookJSON
JSON 其简洁的语法不仅易于计算机解析也相对人类可读。并且允许表示所有基本数据类型并且可以嵌套表示复杂的数据结构。如今几乎所有编程语言都内置解析它的功能几乎用在了任何地方。
{books: [{id: bk102,author: Crockford, Douglas,title: JavaScript: The Good Parts, genre: Computer,price: 29.99,publish_date: 2008-05-01,description: Unearthing the Excellence in JavaScript}]
}TOML
TOML 的语法类似 Windows 的 INI 文件看起来比 JSON 更加紧凑。它引入了表扩展等语法糖使嵌套数据结构更容易表示。TOML也内置了日期时间等数据类型的支持。缺点是目前语言支持库还比较欠缺不过Rust是支持的。
[[books]]
id bk101
author Crockford, Douglas
title JavaScript: The Good Parts
genre Computer
price 29.99
publish_date 2008-05-01T00:00:0000:00
description Unearthing the Excellence in JavaScriptCSON
CSON 本质上是去掉了 JSON 的大括号,使用缩进层级的语法变体。它来自于 CoffeeScript目的是与 CoffeeScript 语言协同简化编程。但这也注定了 CSON 只能在 CoffeeScript 环境使用,通用性不高。
books: [id: bk102author: Crockford, Douglastitle: JavaScript: The Good Partsgenre: Computerprice: 29.99publish_date: 2008-05-01description: Unearthing the Excellence in JavaScript
]YAML
YAML 综合了 CSON 和 JSON 的优点语法简洁可读数据类型支持齐全兼容 JSON 的同时增加了更多功能特性。大多数流行语言都提供了解析 YAML 的库支持因此 YAML 被看作未来主流的数据序列化格式。缺点是不同语言的 YAML 实现之间存在细微差异。
books:- id: bk102author: Crockford, Douglastitle: JavaScript: The Good Partsgenre: Computerprice: 29.99publish_date: !!str 2008-05-01description: Unearthing the Excellence in JavaScript总结
总的来说每种格式均有其独特的侧重点根据不同的使用场景可以选择不同的格式。JSON 简洁通用YAML 功能全面可读性强XML啰嗦但自描述能力强TOML 紧凑易用但缺乏支持CSON 则过于语言绑定。