首页 web前端 js教程 用于编写配置文件和解析数据的 JSON 扩展

用于编写配置文件和解析数据的 JSON 扩展

Nov 07, 2024 am 12:29 AM

JSON Extensions for writing config files and parsing data

JSON 是一种相当简单的格式,这使得它易于使用、理解和解析。
但有时您需要的不仅仅是这些,让我们看看一些常见的 JSON 扩展。

电子JSON

扩展 JSON 正是它听起来的样子。这种 JSON 方言支持其他数据类型,例如日期,甚至允许您添加自己的类型。

下面的示例显示了常规 JSON 和 EJSON 在序列化和重新解析包含日期的对象时的差异。

const EJSON = require('ejson')

const event = {
  name: 'test',
  created_at: new Date()
}

const stingifiedJSON = JSON.stringify(event)
const stingifiedEJSON = EJSON.stringify(event)

// stringified
console.log(stingifiedJSON) // {"name":"test","created_at":"2024-11-06T00:00:00Z"}
console.log(stingifiedEJSON) // {"name":"test","created_at":{"$date":1730851200000}}

// re-parsed
console.log(typeof JSON.parse(stingifiedJSON).created_at) // string
console.log(EJSON.parse(stingifiedEJSON).created_at instanceof Date) // true
登录后复制

这对于重新解析序列化数据非常有用,例如通过网络发送数据时。
EJSON 是 MongoDB 在底层使用的内容(除了 BSON,JSON 的二进制格式)。

在本文列出的 JSON 扩展中,这是唯一一个常规 JSON 也能够解析的扩展!

NDJSON

换行符分隔的 JSON 通常用于一次流式传输一个 JSON 对象。

它是这样的:

{"name":"test","created_at":"2024-11-02T00:00:00Z"}
{"name":"test 2","created_at":"2024-11-04T00:00:00Z"}
{"name":"test 3","created_at":"2024-11-06T00:00:00Z"}
登录后复制

与常规 JSON 的不同之处在于,它没有将数据包装在数组中,并且每行后面都没有逗号(因为它是换行符分隔的)。这使其成为流媒体的完美候选者。

除了流式 JSON,我还看到这种格式(与 EJSON 一起)在 NoSQL 客户端中用于导出和导入文档。

JSONC / JSON5

对于下一个,有多种实现,每种都添加了自己的风格。让我们看看 JSON5,​​因为它是最完整的。

它们都试图实现相同的目标:用于管理配置文件的人类可读的、宽松的 JSON 格式。

JSON5 允许您添加注释、尾随逗号、换行符、取消引号键等等。

{
  // You can add comments!!
  unquoted: '< unquoted keys!',
  singleQuotes: 'I can use "double quotes" here',
  lineBreaks: "Supports line breaks!\
No \n's!",
}
登录后复制

如您所见,JSON 扩展有各种形状和大小。有些旨在供应用程序使用,其他则允许开发人员更轻松地创建配置文件。
下次您需要序列化/解析 JSON 时,看看这些扩展之一是否对您的用例有意义!

以上是用于编写配置文件和解析数据的 JSON 扩展的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1657
14
CakePHP 教程
1415
52
Laravel 教程
1309
25
PHP教程
1257
29
C# 教程
1229
24
神秘的JavaScript:它的作用以及为什么重要 神秘的JavaScript:它的作用以及为什么重要 Apr 09, 2025 am 12:07 AM

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

JavaScript的演变:当前的趋势和未来前景 JavaScript的演变:当前的趋势和未来前景 Apr 10, 2025 am 09:33 AM

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

JavaScript引擎:比较实施 JavaScript引擎:比较实施 Apr 13, 2025 am 12:05 AM

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

JavaScript:探索网络语言的多功能性 JavaScript:探索网络语言的多功能性 Apr 11, 2025 am 12:01 AM

JavaScript是现代Web开发的核心语言,因其多样性和灵活性而广泛应用。1)前端开发:通过DOM操作和现代框架(如React、Vue.js、Angular)构建动态网页和单页面应用。2)服务器端开发:Node.js利用非阻塞I/O模型处理高并发和实时应用。3)移动和桌面应用开发:通过ReactNative和Electron实现跨平台开发,提高开发效率。

Python vs. JavaScript:学习曲线和易用性 Python vs. JavaScript:学习曲线和易用性 Apr 16, 2025 am 12:12 AM

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

如何使用Next.js(前端集成)构建多租户SaaS应用程序 如何使用Next.js(前端集成)构建多租户SaaS应用程序 Apr 11, 2025 am 08:22 AM

本文展示了与许可证确保的后端的前端集成,并使用Next.js构建功能性Edtech SaaS应用程序。 前端获取用户权限以控制UI的可见性并确保API要求遵守角色库

从C/C到JavaScript:所有工作方式 从C/C到JavaScript:所有工作方式 Apr 14, 2025 am 12:05 AM

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。

如何安装JavaScript? 如何安装JavaScript? Apr 05, 2025 am 12:16 AM

JavaScript不需要安装,因为它已内置于现代浏览器中。你只需文本编辑器和浏览器即可开始使用。1)在浏览器环境中,通过标签嵌入HTML文件中运行。2)在Node.js环境中,下载并安装Node.js后,通过命令行运行JavaScript文件。

See all articles