JSON格式化是指将JSON字符串(JavaScript Object Notation)转换为易于阅读和理解的格式。JSON是常用于数据交换的轻量级文本格式,它以键值对的形式存储数据,广泛用于API通信、Web开发和配置文件中。

1. 原始JSON

例如,下面是一个没有格式化的JSON字符串:

{"name":"John","age":30,"city":"New York"}

它紧凑且难以快速查看数据的结构。

2. 格式化后的JSON

格式化后的JSON会自动添加换行符和缩进,使其更易于阅读:

{
  "name": "John",
  "age": 30,
  "city": "New York"
}

3. 如何手动格式化JSON

你可以使用多种方法来格式化JSON:

3.1 在线工具

有很多在线工具可以将JSON字符串格式化。例如:

这些工具会自动为你整理并格式化JSON数据。

3.2 使用JavaScript格式化

在浏览器中,你可以通过 JSON.stringify() 来格式化JSON:

const jsonString = '{"name":"John","age":30,"city":"New York"}';
const jsonObj = JSON.parse(jsonString);

// 格式化并打印出具有缩进的JSON
const formattedJson = JSON.stringify(jsonObj, null, 2);
console.log(formattedJson);
  • JSON.stringify():把 JavaScript 对象转换成 JSON 字符串。
  • 第二个参数 null 表示不做特殊处理。
  • 第三个参数 2 表示每个缩进层级使用 2 个空格(你也可以选择其他数字,来控制缩进的空格数)。

输出将是:

{
  "name": "John",
  "age": 30,
  "city": "New York"
}

3.3 Python 格式化

在 Python 中,你可以使用 json 库来格式化JSON:

import json

data = '{"name": "John", "age": 30, "city": "New York"}'
parsed_data = json.loads(data)

# 格式化并打印 JSON
formatted_data = json.dumps(parsed_data, indent=2)
print(formatted_data)

输出:

{
  "name": "John",
  "age": 30,
  "city": "New York"
}

3.4 格式化JSON文件

如果你有一个 JSON 文件并想要格式化它,可以通过代码或命令行来完成。例如,使用 jq 命令:

cat data.json | jq .

这会打印格式化的JSON。


4. 常见的格式化选项

在格式化JSON时,通常会考虑以下选项:

  • 缩进:决定每层嵌套的空格数,通常是2或4。
  • 排序:可以按键的字母顺序或自定义顺序排序键。

总结

JSON格式化使得结构清晰,方便开发人员调试、查看和理解数据。你可以选择手动格式化、使用编程语言中的内置功能或在线工具来实现。