json xml protobuf格式对比

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: json格式(bson)简介json格式源自于js,它最大的特点就是一切都是对象,一个对象由键/值对表示:{ “keyname”: value}其中valve可以是如下类型:字符串,用“”扩起来数字bool:true和false数组:用【...

json格式(bson)简介

json格式源自于js,它最大的特点就是一切都是对象,一个对象由键/值对表示:
{ “keyname”: value}
其中valve可以是如下类型:

  • 字符串,用“”扩起来
  • 数字
  • bool:true和false
  • 数组:用【】扩起来,用“,”分割例如
    {“adds”:[“chengdu”,”xi’an”]}
  • 对象:用{}扩起来例如:
    {“adds”:{“chengdu”:”jinjiang”,“xi'an”:”bashing”}}

Json格式中字符集必须为utf8.

bson

全称binary json一种类似于json的存储格式。它源于json格式,在mongodb文档数据库中作为mongodb数据存储格式。
它内部为了优化c语言解析和减少存储空间,对json格式进行了一些新的定义。例如它引入了变长int格式,可以根据存储的数值的大小决定存储空间,而不是传统int32默认作用4byte空间。它为了加快编程语言解析,在元素头就定义了元素占用空间的大小,如此可以不用顺序去读最终匹配到】,而一次性就跳转到一个元素(对象)的结尾。
它的优点:更小的空间占用,更快的语言解析速度

xml格式

xml格式是一种结构化格式

json vs xml

json优点

  • 易读性 毋庸置疑json对于人类更加友好
  • 易于解析:js,python,go都可以很方便的解析json格式
  • 占用空间少:较xml格式json占用空间更少

xml 和json解析方式

xml有两种解析方式

  • dom
    dom方式将整个xml文档当成文档对象,进行解析。它要求一次性将所有内容读入。消耗内存和处理时间。
  • Sax
    一种流式处理方式,逐步解析,而程序可以随时终止。
    json目前只提供整文解析方式。
目录
相关文章
|
26天前
|
XML JSON 前端开发
【Web前端揭秘】XML与JSON:数据界的双雄对决,你的选择将如何改写Web世界的未来?
【8月更文挑战第26天】本文深入探讨了XML和JSON这两种广泛使用的数据交换格式在Web前端开发中的应用。XML采用自定义标签描述数据结构,适用于复杂层次数据的表示,而JSON则以键值对形式呈现数据,更为轻量且易解析。通过对两种格式的示例代码、结构特点及应用场景的分析,本文旨在帮助读者更好地理解它们的差异,并根据实际需求选择最合适的数据交换格式。
39 1
|
1月前
|
JSON Java Android开发
Android 开发者必备秘籍:轻松攻克 JSON 格式数据解析难题,让你的应用更出色!
【8月更文挑战第18天】在Android开发中,解析JSON数据至关重要。JSON以其简洁和易读成为首选的数据交换格式。开发者可通过多种途径解析JSON,如使用内置的`JSONObject`和`JSONArray`类直接操作数据,或借助Google提供的Gson库将JSON自动映射为Java对象。无论哪种方法,正确解析JSON都是实现高效应用的关键,能帮助开发者处理网络请求返回的数据,并将其展示给用户,从而提升应用的功能性和用户体验。
42 1
|
1月前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
32 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
20天前
|
Java Spring 容器
彻底改变你的编程人生!揭秘 Spring 框架依赖注入的神奇魔力,让你的代码瞬间焕然一新!
【8月更文挑战第31天】本文介绍 Spring 框架中的依赖注入(DI),一种降低代码耦合度的设计模式。通过 Spring 的 DI 容器,开发者可专注业务逻辑而非依赖管理。文中详细解释了 DI 的基本概念及其实现方式,如构造器注入、字段注入与 setter 方法注入,并提供示例说明如何在实际项目中应用这些技术。通过 Spring 的 @Configuration 和 @Bean 注解,可轻松定义与管理应用中的组件及其依赖关系,实现更简洁、易维护的代码结构。
25 0
|
27天前
|
JSON 开发工具 数据格式
【Azure Event Hub】Event Hub的Process Data页面无法通过JSON格式预览数据
【Azure Event Hub】Event Hub的Process Data页面无法通过JSON格式预览数据
|
1月前
|
XML 存储 JSON
(十二)探索高性能通信与RPC框架基石:Json、ProtoBuf、Hessian序列化详解
如今这个分布式风靡的时代,网络通信技术,是每位技术人员必须掌握的技能,因为无论是哪种分布式技术,都离不开心跳、选举、节点感知、数据同步……等机制,而究其根本,这些技术的本质都是网络间的数据交互。正因如此,想要构建一个高性能的分布式组件/系统,不得不思考一个问题:怎么才能让数据传输的速度更快?
|
1月前
|
JSON JavaScript 前端开发
Vue项目使用Cookie,以Json格式存入与读取Cookie,设置过期时间以及删除操作
这篇文章介绍了在Vue项目中如何使用JavaScript操作Cookie,包括设置、读取、设置过期时间以及删除Cookie的方法。
96 0
|
2月前
|
JSON 数据格式
Content type ‘text/plain;charset=UTF-8‘ not supported,这里要把测试文件转为json格式
Content type ‘text/plain;charset=UTF-8‘ not supported,这里要把测试文件转为json格式
|
2月前
|
XML JSON 缓存
优化Java中XML和JSON序列化
优化Java中XML和JSON序列化
|
3月前
|
JSON JavaScript 前端开发
一篇文章讲明白json文件格式详解
一篇文章讲明白json文件格式详解
54 0