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)
相关推荐
JQLvopkk19 小时前
JSON序列化与反序列化
json
键盘鼓手苏苏2 天前
Flutter for OpenHarmony 实战:Flutter Rust Bridge — 极致计算性能方案
开发语言·后端·flutter·华为·rust·json·harmonyos
攻城狮的梦2 天前
go中json数据的转化
json
Dxy12393102162 天前
Python检查JSON格式错误的多种方法
前端·python·json
秃了也弱了。3 天前
python修复json神器:json-repair包(用于大模型返回json不规范)
python·json
I'm Jie3 天前
【已解决】SqlAlchemy 插入 MySQL JSON 字段时 None 变为 ‘null‘ 字符串,WHERE IS NULL 失效
数据库·python·mysql·json·fastapi·sqlalchemy
Hui Baby3 天前
Spring Boot 中使用 JSONPath 高效处理 JSON 数据
spring boot·python·json
Hui Baby3 天前
SpringBoot + JSON 字段 + MySQL 8.0 函数索引:灵活存储半结构化数据,查询不慢
spring boot·mysql·json
Dxy12393102164 天前
Python 将 JSON 字符串转换为字典
前端·python·json
一个天蝎座 白勺 程序猿4 天前
破译JSON密码:KingbaseES全场景JSON数据处理实战指南
数据库·sql·json·kingbasees·金仓数据库