首页 > 其他分享 >JSON 数据格式化方法

JSON 数据格式化方法

时间:2024-06-04 20:32:22浏览次数:26  
标签:格式化 数据 data 快捷键 JSON IDE 方法

文章目录

数据介绍

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript 编程语言的一个子集。尽管它起源于 JavaScript,但 JSON 已经成为了一个完全独立于语言的文本格式,被广泛采用和应用于多种编程语境中。

JSON由道格拉斯·克罗克福特在1999年设计并提出。它是一个简化版的数据传输格式,其设计初衷是为了使得不同的网络应用程序可以轻易地交换数据。随着时间的推移,JSON逐渐演变成了一种主流的数据格式,并被许多现代编程语言所支持。

JSON的语法建立在两种结构之上:键值对的集合(类似于 Python 中的字典或 Objective C 中的对象)以及有序值列表(类似于数组)。JSON 数据可以是一个简单的值、一个数组、一个对象或者一个对象和数组的组合。下面是这些数据结构的详细描述:

  • 简单值: JSON中的简单值指的是字符串、数字、布尔值(true或false)和null。

  • 数组: 数组是值的有序集合,以方括号[]包围并以逗号,分隔。例如:[1, "apple", true]

  • 对象: 对象是键值对的无序集合,以花括号{}包围并以逗号,分隔。键和值之间使用冒号:分隔,并且键必须是字符串。例如:{"name": "John", "age": 30}

JSON数据格式具有以下特点:

  • 可读性强: JSON数据以人类可读的纯文本格式组织,这使得它即使在不借助任何工具的情况下也易于理解和编辑。

  • 易于解析生成: 几乎所有现代编程语言都提供了处理JSON数据的库或内置功能,使得从代码中生成JSON数据或解析JSON数据变得非常便捷。

  • 跨语言兼容: 作为一种通用的数据格式,JSON没有绑定到特定的编程语言,这意味着在不同编程环境之间交换数据时,JSON是一个很好的选择。

  • 数据描述能力强: JSON能够描述复杂的数据结构,包括嵌套的对象和数组,这使其成为表示层次化数据的理想选择。

JSON 与 XML 和 YAML 数据格式比较:

  • XML(Extensible Markup Language)是Web上数据交换的主要格式。然而,JSON 比 XML 更简洁,因为它不需要结束标签,数据更加紧凑。此外,JSON 直接映射到编程语言中的数据结构,如字典或哈希表,而XML则需要解析为这些数据结构。
  • YAML(Yet Another Markup Language)是另一种用于数据序列化的格式,它注重于人类的可读性和可写性。虽然YAML在某些情况下更易读写,但它的语法更复杂,有时可能会导致解析错误。相比之下,JSON的语法简单且不容易引起错误。

JSON(JavaScript Object Notation)是一种常用的数据交换格式,它以简洁、易读的方式存储和传输数据。在处理 JSON 数据时,数据格式化是一个重要的步骤,可以提高数据的可读性和可维护性。本文将介绍 JSON 数据格式化的方法,并提供两个在线工具网址,帮助您在处理 JSON 数据时进行格式化。

JSON 数据广泛应用于 Web 开发、移动应用开发、数据存储等领域。以下是一个示例 JSON 数据:

{"name": "John Doe","age": 30,"email": "[email protected]","hobbies": ["reading","gaming","traveling"],"address": {"street": "123 Main Street","city":"New York","state": "NY"}}

目标,格式化 JSON 如下:

{
    "name": "John Doe",
    "age": 30,
    "email": "[email protected]",
    "hobbies": [
        "reading",
        "gaming",
        "traveling"
    ],
    "address"{
        "street": "123 Main Street",
        "city": "New York",
        "state": "NY"
    }
}

那么,它可能会很难阅读和理解。这就是我们需要格式化 JSON 数据的原因。

IDE 或脚本格式化

许多集成开发环境(IDE)如 Visual Studio Code,PyCharm 等都有内置的 JSON 格式化功能。你只需要将你的 JSON 数据粘贴到编辑器中,然后使用相关的格式化命令或快捷键即可。下面是一些常见的 IDE 和脚本语言的 JSON 格式化方法:

  • Visual Studio Code(VS Code)是一款流行的免费代码编辑器,支持多种编程语言并且通过插件系统提供丰富的功能扩展。对于 JSON 数据,VS Code 内置了直观的格式化工具。要使用这个工具,只需打开一个 JSON 文件,然后按下 Ctrl+Shift+I(Windows/Linux)或 Cmd+Shift+I(Mac)快捷键。编辑器会自动按照标准的缩进规则重新格式化整个文档,使数据结构一目了然。
  • 对于 Java 开发者来说,IntelliJ IDEA 无疑是一款强大的 IDE。除了对 Java 的出色支持外,它也提供了处理 JSON 数据的功能。你可以打开一个 JSON 文件,然后使用 Code > Reformat Code 菜单项或者快捷键 Ctrl+Alt+L(Windows/Linux)/ Cmd+Alt+L(Mac)来快速格式化。IntelliJ IDEA 还会在编辑时提供实时的 JSON 验证和提示,帮助避免语法错误。
  • Sublime Text 是另一款广受欢迎的文本编辑器,以其速度和灵活性著称。虽然 Sublime Text 本身并不直接支持 JSON 格式化,但你可以通过安装插件来实现这一功能。例如,安装 Package Control 之后,你可以添加 JSONFormat 插件。通过 Edit > Line > Reindent 菜单项或者快捷键 Ctrl+Shift+R(Windows/Linux)/ Cmd+Shift+R(Mac),你可以很方便地对选定的 JSON 代码进行格式化。
  • PyCharm IDE 为开发者提供了一组快捷键来优化和加速开发流程,其中就包括用于代码格式化的快捷键。对于 JSON 数据,可以通过按下组合键 Ctrl+Alt+L 或者 Command+Option+L 来实现格式化。这种方法简单快捷,无需任何额外的配置或插件安装,是 PyCharm 内置功能的一部分。需要注意的是有时自定义的快捷键可能与 PyCharm 默认或其他插件的快捷键冲突。在这种情况下,需要调整快捷键设置,以避免操作上的混淆。

Python:使用 Python 的 json 模块可以轻松地格式化 JSON 数据。可以使用 json.dumps(data, indent=4) 方法将 JSON 对象转换为格式化后的字符串。

import json

data = {"name": "John Doe","age": 30,"email": "[email protected]","hobbies": ["reading","gaming","traveling"],"address": {"street": "123 Main Street","city":"New York","state": "NY"}}

formatted_data = json.dumps(data, indent=4)
print(formatted_data)

JavaScript:在 JavaScript 中,可以使用 JSON.stringify(data, null, 2) 方法将 JSON 对象转换为格式化后的字符串,并指定缩进级别为 2。

const data = {"name": "John Doe","age": 30,"email": "[email protected]","hobbies": ["reading","gaming","traveling"],"address": {"street": "123 Main Street","city":"New York","state": "NY"}};

const formattedData = JSON.stringify(data, null, 2);
console.log(formattedData);

Node.js:在Node.js环境下工作,可以利用其强大的文件系统模块(fs)来读取和写入JSON数据,同时结合JSON.stringify来实现数据的格式化。以下是一个示例代码:

const fs = require('fs');

// 读取原始 JSON 数据
fs.readFile('data.json', 'utf8', (err, data) => {
    if (err) {
        console.error(err);
        return;
    }

    // 解析并格式化 JSON 数据
    let jsonData;
    try {
        jsonData = JSON.parse(data);
    } catch (error) {
        console.error("Error parsing JSON:", error);
        return;
    }

    // 格式化 JSON 数据并写回文件
    const formattedData = JSON.stringify(jsonData, null, 4);
    fs.writeFile('formatted.json', formattedData, 'utf8', err => {
        if (err) console.error(err);
    });
});

解释:首先使用fs.readFile异步地读取一个名为data.json的文件。读取完成后,我们尝试使用JSON.parse将文件内容解析为一个JavaScript对象。然后我们使用JSON.stringify将这个对象格式化为一个美观的JSON字符串,并指定缩进为4个空格。最后,我们使用fs.writeFile将格式化后的字符串写回到一个新的文件formatted.json中。

IDE 或者脚本格式化 JSON,虽然能实现效果,但是没有直接点击来的快,接下来介绍两个好用的在线工具网址。

在线工具网址

如果您不想安装 IDE 或编写脚本来格式化 JSON 数据,可以使用在线工具进行 JSON 数据格式化。以下是两个提供 JSON 数据格式化功能的在线工具网址:

  • SO JSON 在线工具(https://www.sojson.com):SO JSON 在线工具是另一个提供 JSON 数据格式化功能的网站。它支持 JSON 数据的解析、格式化、压缩、转义、视图和编辑等功能。

image

  • JSONS 在线工具(http://www.jsons.cn):JSONS 是一个提供多种 JSON 相关工具的网站,其中包括 JSON 数据的在线解析、格式化、校验、压缩和转义等功能。

image

这个在线工具不仅可以格式化 JSON ,也可以格式化其他数据,如 HTML、SQL等,最好的功能是可以进行文本比较,在代码进行迁移对比差异时经常用到。示例如下,不一致的部分会直接标红色。

image

你只需要在这些网站上输入或粘贴你的 JSON 数据,它们就会自动为你格式化。

总结

JSON 数据格式化是处理 JSON 数据的重要步骤,有助于提高数据的可读性和可维护性。您可以使用 IDE 或脚本语言提供的内置功能进行格式化,也可以使用在线工具进行格式化。非常推荐 JSONS 不仅支持格式化,而且还支持代码文本对比和替换等功能。

标签:格式化,数据,data,快捷键,JSON,IDE,方法
From: https://blog.csdn.net/weixin_50357986/article/details/139419250

相关文章

  • `jsonb` 报错 `invalid input syntax for type timestamp with time zone ““
    哈喽,大家好,我是木头左!大家好,我是你们的朋友,公众号博主。今天要聊一聊一个常见的数据库问题:jsonb报错invalidinputsyntaxfortypetimestampwithtimezone:""。这个问题可能会影响到你的开发工作,但是别担心,我会用最简单易懂的方式,帮助你解决这个问题。1.问题解析需要......
  • java检测当前CPU负载状态的方法
    1.java检测当前CPU负载状态在Java中,直接检测CPU负载状态并不像在操作系统命令行中那样简单,因为Java标准库并没有直接提供这样的功能。但是,我们可以通过几种方法间接地获取CPU负载信息:(1)使用操作系统命令:我们可以通过执行特定的系统命令(如top、mpstat、uptime等)来获取CPU负载信息,......
  • etherjs估算gasLimit(调用estimateGas方法)的两种方式
    前言:一种是provider,一种是signer  方式一:直接获取constEtherJS=require('etherjs');//创建一个Provider实例,指向你的以太坊节点constprovider=newEtherJS.providers.JsonRpcProvider('http://localhost:8545');//构造一个交易consttransaction={to:......
  • JSON类型处理器
    数据库的user表中有一个info字段,是JSON类型:格式像这样:{"age":20,"intro":"佛系青年","gender":"male"}而目前User实体类中却是String类型:这样一来,我们要读取info中的属性时就非常不方便。如果要方便获取,info的类型最好是一个Map或者实体类。而一旦我们把info改为对象......
  • 有哪些免费方法可以将PDF转成PPT?
    有时候我们在制作文件时,新建的PPT文档是空白页比较单调,会去网上下载一些模板,而下载后的文档多是PDF格式,必须转换为PPT格式,以便使用自己的文档。所以pdf转ppt怎么转换免费呢?下面一起来看看pdf转ppt这些方法吧。方法一、修改文件拓展名小伙伴们平时打开文件的时候,有注意到它们名字......
  • 将来自 Telegraf 的 JSON 数据扁平化,以便在 ThingsBoard 中使用
    我连接了ThingsBoard和Telegraf以可视化CPU使用率,但收到的数据是嵌套JSON格式。我尝试了不同的方法,但无法以扁平化的JSON格式获取数据。使用Telegraf1.30.0版本,数据以以下格式返回:[{"fields":{"usage_guest":0、"usage_guest_nice":0、......
  • pdf如何转换成excel文档?这3个方法免费!
    职场人士常常会遇到PDF文件格式,因为PDF便于传输且能够保持排版稳定,因此在文件分享中备受青睐。然而,PDF文件中的表格数据可能涉及到公式和函数,而PDF格式又不易编辑,这时我们就需要将其转换为Excel格式进行编辑修改。因此,掌握PDF转换成Excel的技能对职场人士来说非常有意义。幸运的......
  • EFDC建模方法及在地表水环境评价、水源地划分、排污口论证技术教程
    原文链接:EFDC建模方法及在地表水环境评价、水源地划分、排污口论证技术教程https://mp.weixin.qq.com/s?__biz=MzUzNTczMDMxMg==&mid=2247605969&idx=3&sn=30087fd54f3f7a799423af2af789735a&chksm=fa821f36cdf59620bb55495293987726bfa59dcf0bdbab1212fd7cda48ed1aee24785d9a9......
  • 如何封装小程序的数据请求方法
    平时我们在开发中也会封装数据请求的通用工具,因为有很多相同的处理,没必要每次使用都把重复的再写一遍。在微信小程序中也是一样,封装数据请求的方式可以提高代码的可维护性和复用性。创建请求模块首先,创建一个新的JavaScript文件(例如api.js),用于封装所有的数据请求。这个模块将......
  • C#开源实用的工具类库,集成超过1000多种扩展方法
    前言今天大姚给大家分享一个C#开源(MITLicense)、免费、实用且强大的工具类库,集成超过1000多种扩展方法增强.NETFramework和.NETCore的使用效率:Z.ExtensionMethods。直接项目引入类库使用在你的对应项目中NuGet包管理器中搜索:Z.ExtensionMethods安装即可使用。支持.NETS......