json使用

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

  1. 对象(Object) :由花括号 {} 包围,包含键值对。
  2. 数组(Array) :由方括号 [] 包围,包含一组有序的值。
  3. 字符串(String) :由双引号 "" 包围的字符序列。
  4. 数字(Number):整数或浮点数。
  5. 布尔值(Boolean)truefalse
  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)
相关推荐
小高Baby@7 小时前
JSON、bind、form
数据结构·json
阿蒙Amon9 小时前
TypeScript学习-第11章:配置文件(tsconfig.json)
学习·typescript·json
一起养小猫12 小时前
Flutter for OpenHarmony 进阶:Timer组件与倒计时系统深度解析
android·网络·笔记·flutter·json·harmonyos
女王大人万岁14 小时前
Go语言JSON标准库(encoding/json):功能解析与实战指南
服务器·开发语言·后端·golang·json
每天要多喝水1 天前
nlohmann/json 的使用
c++·json
电商API&Tina1 天前
乐天平台 (Rakuten) 数据采集指南
大数据·开发语言·数据库·oracle·json
数研小生2 天前
构建命令行单词记忆工具:JSON 词库与艾宾浩斯复习算法的完美结合
算法·json
编码者卢布2 天前
【Azure Stream Analytic】用 JavaScript UDF 解决 JSON 字段被转成 Record 的关键点
javascript·json·azure
电商API&Tina2 天前
电商数据采集 API 接口 全维度解析(技术 + 商业 + 合规)
java·大数据·开发语言·数据库·人工智能·json
liwulin05062 天前
【JSON】使用com.fasterxml.jackson解析json字符串
java·数据库·json