JSON 格式是什么

JSON 格式是:是一种轻量级的数据交换格式。它基于 ECMAScript(European Computer Manufacturers Association, 欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。

一、JSON 格式是什么

JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(European Computer Manufacturers Association, 欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写,可以在多种语言之间进行数据交换。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999的一个子集。

二、XML的解析方式

XML的解析方式有两种:

一是通过文档模型解析,也就是通过父标签索引出一组标记。例如:xmlData.getElementsByTagName(“tagName”),但是这样是要在预先知道文档结构的情况下使用,无法进行通用的封装。

另外一种方法是遍历节点(document 以及 childNodes)。这个可以通过递归来实现,不过解析出来的数据仍旧是形式各异,往往也不能满足预先的要求。

凡是这样可扩展的结构数据解析起来一定都很困难。

JSON也同样如此。如果预先知道JSON结构的情况下,使用JSON进行数据传递简直是太美妙了,可以写出很实用美观可读性强的代码。如果你是纯粹的前台开发人员,一定会非常喜欢JSON。但是如果你是一个应用开发人员,就不是那么喜欢了,毕竟xml才是真正的结构化标记语言,用于进行数据传递。

而如果不知道JSON的结构而去解析JSON的话,那简直是噩梦。费时费力不说,代码也会变得冗余拖沓,得到的结果也不尽人意。但是这样也不影响众多前台开发人员选择JSON。因为json.js中的toJSONString()就可以看到JSON的字符串结构。当然对于不是经常使用这个字符串的人,这样做仍旧是噩梦。常用JSON的人看到这个字符串之后,就对JSON的结构很明了了,就更容易的操作JSON。

以上是在Javascript中仅对于数据传递的xml与JSON的解析。在Javascript地盘内,JSON毕竟是主场作战,其优势当然要远远优越于xml。如果JSON中存储Javascript复合对象,而且不知道其结构的话,我相信很多程序员也一样是哭着解析JSON的。

除了上述之外,JSON和XML还有另外一个很大的区别在于有效数据率。JSON作为数据包格式传输的时候具有更高的效率,这是因为JSON不像XML那样需要有严格的闭合标签,这就让有效数据量与总数据包比大大提升,从而减少同等数据流量的情况下,网络的传输压力。

延伸阅读

JSON常用类型

任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型。

对象:对象在 JS 中是使用花括号包裹 {} 起来的内容,数据结构为 {key1:value1, key2:value2, …} 的键值对结构。在面向对象的语言中,key 为对象的属性,value 为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。

数组:数组在 JS 中是方括号 [] 包裹起来的内容,数据结构为 [“java”, “javascript”, “vb”, …] 的索引结构。在 JS 中,数组是一种比较特殊的数据类型,它也可以像对象那样使用键值对,但还是索引使用得多。同样,值的类型可以是任意类型。

文章标题:JSON 格式是什么,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/51629

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.ZE.Z认证作者
上一篇 2023年5月9日
下一篇 2023年5月9日

相关推荐

  • DevOps如何提高效率

    DevOps的效率提升通常归纳为以下几点:1、自动化流程让工作更连贯、2、持续集成和持续部署确保快速反馈、3、微服务架构优化系统的灵活性、4、监控和日志分析实现问题快速定位。 自动化流程是DevOps实践中不可或缺的一部分,它通过减少重复性手工操作,让构建、测试至部署的整个软件生命周期更加连贯、高效…

    2024年1月18日
    9500
  • 在甘特图中如何处理多重截止日期和时间限制

    甘特图应对多重截止日期和时间限制的关键策略包括1、设定明确里程碑, 2、优先级排序, 3、资源分配的灵活性, 4、进度动态跟踪。在这些策略中,设定明确里程碑特别关键,因为它提供了项目要达成的具体目标和时间节点,使得团队有清晰的目标和进度感。 里程碑的明确设定为项目成员提供了检查点,通过这些检查点可以…

    2023年12月20日
    20800
  • 树莓派可以用来做什么

    树莓派是一款非常强大的微型计算机,其主要用途包括:1、编程学习;2、搭建家庭媒体中心;3、IoT项目;4、家庭自动化;5、搭建服务器;6、游戏主机。树莓派提供了一个优异的平台,用于教授和学习编程。 一、编程学习 树莓派提供了一个优异的平台,用于教授和学习编程。它支持各种编程语言,如Python、Ja…

    2023年7月29日
    1.7K00
  • oa报账

    标题:OA报账系统与企业效率提升的关系 OA报账系统极大地提高了企业的核算速度1、降低了人为错误率2、增强了财务透明度3、并且有助于合规性监控4。在详细描述方面,改进了工作流程的标准化5,是企业管理和效率提升不可或缺的组成部分。通过这些系统,企业能更高效地处理报销流程,减少财务人员的工作负担,加快决…

    2024年1月11日
    10500
  • 原生App与移动Web App(H5)区别是什么

    原生App与移动Web App(H5)区别是:1、技术架构;2、用户体验;3、开发成本与发布。原生App是为特定移动平台(如iOS或Android)使用原生编程语言(如Swift/Objective-C或Java/Kotlin)开发的应用程序。 一、技术架构 二、用户体验 三、开发成本与发布 延伸阅…

    2023年7月30日
    40800
  • 项目经理的管理目标有哪些

    项目经理的管理目标有:一、大目标;二、阶段目标;三、项目目标;四、角色执行目标。而往往远期目标是很大的,所谓千里之行始于足下,需要将大目标量化,并且逐渐向各级拆解,在多少时间内达到一个什么样量化指标。 一、大目标 凡事儿都得有目标,没有目标一切就会不可控,因为你不知道在做什么,什么时候得做完,现在怎…

    2023年4月29日
    46900
  • oa协同办公软件

    概述 OA协同办公软件 OA协同办公软件即Office Automation软件,旨在优化企业内部管理流程、提高工作效率以及促进信息共享。该软件包括1、文件管理、2、通讯协作、3、项目管理、4、日程安排等多元功能。特别是在文件管理方面,它能够进行文件存储、归档、检索及安全管理,确保文档资料的即时可用…

    2024年1月11日
    9900
  • 商家为什么不愿意用聚合支付

    商家对于使用聚合支付的犹豫主要涉及以下几个方面:1、费用问题;2、数据安全隐患;3、操作复杂性;4、法规合规风险;5、客户体验问题。其中,费用问题是让很多商家产生疑虑的核心因素,由于聚合支付平台通常会收取一定的手续费,可能增加商家的运营成本。 1、费用问题 聚合支付虽然提供了多种支付方式的整合,便捷…

    2023年8月10日
    49400
  • 数组属于线性表吗,为什么

    数组属于线性表,原因:线性表就是数据排成像一条线一样的结构,数组用一组连续的内存空间来存储一组具有相同类型的数据,它是一种线性表的实现,它是由固定大小的相同类型元素(数据元素)构成的有限序列,通过下标来访问元素。 一、数组属于线性表吗 数组属于线性表。 原因:线性表就是数据排成像一条线一样的结构,数…

    2023年4月15日
    82700
  • 同一个SQL查询语句,为什么使用到的索引不同

    使用到的索引不同的主要原因有:一、查询条件不同;二、数据分布不同;三、数据量不同;四、数据类型不同。同一个表中的不同查询条件可能需要使用不同的索引。在同一SQL查询语句中,由于查询条件不同,可能会使用到不同的索引。 一、查询条件不同 同一个表中的不同查询条件可能需要使用不同的索引。例如,对于一个包含…

    2023年5月30日
    37300

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部