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)
相关推荐
陈涛5752 天前
5个最好用的 JSON 工具推荐:让数据处理变得简单高效
json
bkspiderx2 天前
pb2json.hpp 文档:Protobuf 与 JSON 通用转换工具类
json·protobuf·protobuf与json转换
万粉变现经纪人3 天前
何解决PyCharm中pip install安装Python报错ModuleNotFoundError: No module named ‘json’问题
python·pycharm·json·beautifulsoup·scikit-learn·matplotlib·pip
晨欣4 天前
orjson 与 json:实战对比与选型指南(含示例)(GPT-5 回答)
gpt·json
Pi_Qiu_4 天前
Python初学者笔记第二十二期 -- (JSON数据解析)
笔记·python·json
mon_star°4 天前
有趣的 npm 库 · json-server
前端·npm·json
ID_180079054734 天前
淘宝拍立淘按图搜索API接口功能详细说明
大数据·python·json·图搜索算法
cypking5 天前
vue excel转json功能 xlsx
vue.js·json·excel
我又来搬代码了5 天前
【Android】【bug】Json解析错误Expected BEGIN_OBJECT but was STRING...
android·json·bug
山里幽默的程序员6 天前
如何使用Postman无障碍导入JSON文件?详细步骤&工具对照
测试工具·json·postman