json使用

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人类阅读和编写,同时也易于机器解析和生成。JSON 的格式非常简单,主要包括以下几种数据类型:

  1. 对象(Object) :由花括号 {} 包围,包含键值对。
  2. 数组(Array) :由方括号 [] 包围,包含一组有序的值。
  3. 字符串(String) :由双引号 "" 包围的字符序列。
  4. 数字(Number):整数或浮点数。
  5. 布尔值(Boolean) :true 或 false。
  6. 空值(Null) :null。

JSON 格式示例

以下是一个包含所有上述数据类型的完整 JSON 示例:

json 复制代码
{
  "name": "John Doe",
  "age": 30,
  "isEmployed": true,
  "address": {
    "street": "123 Main St",
    "city": "Anytown",
    "state": "CA",
    "postalCode": "12345"
  },
  "phoneNumbers": [
    {
      "type": "home",
      "number": "555-555-5555"
    },
    {
      "type": "work",
      "number": "555-555-5556"
    }
  ],
  "children": [],
  "spouse": null
}

详细解释

  • 对象(Object) :"address" 是一个对象,包含多个键值对。
  • 数组(Array) :"phoneNumbers" 是一个数组,包含多个对象。
  • 字符串(String) :"name" 和 "street" 等都是字符串。
  • 数字(Number) :"age" 是一个数字。
  • 布尔值(Boolean) :"isEmployed" 是一个布尔值。
  • 空值(Null) :"spouse" 是一个空值。

Python 代码示例

以下是一个 Python 示例,展示了如何使用 json 模块来处理 JSON 数据:

python 复制代码
import json

# JSON 字符串
json_string = '''
{
  "name": "John Doe",
  "age": 30,
  "isEmployed": true,
  "address": {
    "street": "123 Main St",
    "city": "Anytown",
    "state": "CA",
    "postalCode": "12345"
  },
  "phoneNumbers": [
    {
      "type": "home",
      "number": "555-555-5555"
    },
    {
      "type": "work",
      "number": "555-555-5556"
    }
  ],
  "children": [],
  "spouse": null
}
'''

# 将 JSON 字符串解析为 Python 字典
data = json.loads(json_string)

# 访问数据
print(f"Name: {data['name']}")
print(f"Age: {data['age']}")
print(f"Is Employed: {data['isEmployed']}")
print(f"Street: {data['address']['street']}")
print(f"City: {data['address']['city']}")
print(f"Phone Numbers: {data['phoneNumbers'][0]['number']}")

# 将 Python 字典转换为 JSON 字符串
json_output = json.dumps(data, indent=2)
print(json_output)
相关推荐
视觉小萌新7 小时前
AI Class 3 · Chapter 2-3:函数、异常、文件读写+JSON / JSONL 读写(小白版)
人工智能·python·json
翊众建站1 天前
用 JSON-LD 给企业官网做结构化数据:LocalBusiness 与 FAQPage 实践笔记
人工智能·搜索引擎·json
Patrick_Wilson1 天前
读懂一个 Go JSON 处理函数:从输入数据追踪结构体、校验与错误返回
go·json·编程语言
January12072 天前
【AI方法笔记】2026-11-02:模型流式吐 JSON 时,前端会遇到四种崩法
前端·人工智能·笔记·json
Frag0ut3 天前
Notepad++ 零基础入门:从记事本到代码编辑器的平滑过渡(2026最新版)
python·编辑器·html·json·notepad++·markdown·记事本
xiaoye-duck4 天前
《C++ 工具库实战》C++ 解析利器 JsonCpp:从基础使用到封装简易 JSON 工具
c++·json·第三方库
javachen__4 天前
试试Jackson:把JSON拉平成普通属性
json
limanovember4 天前
yq:命令行下的 YAML 和 JSON 处理利器
其他·json
程序员大阳5 天前
副队长JavaScript教程(65)-详解JSON:轻量级数据交换格式
javascript·json·序列化·反序列化·stringify·parse