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)
相关推荐
stoneSkySpace13 小时前
set、map 比数组,json 对象的性能更好原因分析
json
Rabbb21 小时前
C# JSON 反序列化时,忽略转换失败的属性 JTokenSafeToExtensions
后端·c#·json
代码的余温2 天前
XML vs JSON:核心区别与最佳选择
xml·服务器·json
前端 贾公子2 天前
exports使用 package.json字段控制如何访问你的 npm 包
前端·npm·json
三千花灯2 天前
jmeter提取接口返回值,对比去重
jmeter·json
青柠檬-hxj3 天前
理解 HTTP POST 请求中的 json 和 data 参数
网络协议·http·json
一只小阿乐3 天前
前端vue3 H5实现 静态页面使用本地json 并且需要上下滑动 可以切换tabs 栏
前端·json·vue3·h5开发
Risehuxyc4 天前
前端同学,你能不能别再往后端传一个巨大的JSON了?
前端·json·状态模式
逢五必更5 天前
从json中提取i18n字段
json