python json 用法

  1. JSON简介
    • JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在Python中,使用json模块来处理JSON数据。
    • JSON支持的数据类型主要有对象(在Python中类似于字典)、数组(在Python中类似于列表)、字符串、数字、布尔值和null
  2. 将Python对象转换为JSON字符串(序列化)
    • 基本用法
      • 首先要导入json模块。例如,将一个Python字典转换为JSON字符串,可以使用json.dumps()函数。
      import json
      data = {"name": "John", "age": 30, "city": "New York"}
      json_str = json.dumps(data)
      print(json_str)
      
      • 输出结果是{"name": "John", "age": 30, "city": "New York"},这是一个JSON格式的字符串。
    • 格式化输出
      • json.dumps()函数还有一些可选参数。例如,可以使用indent参数来使输出的JSON字符串更易读。
      import json
      data = {"name": "John", "age": 30, "city": "New York"}
      json_str = json.dumps(data, indent = 4)
      print(json_str)
      
      • 此时输出的JSON字符串会有缩进,看起来像这样:
      {
          "name": "John",
          "age": 30,
          "city": "New York"
      }
      
    • 处理特殊数据类型
      • 如果Python对象中有一些特殊的数据类型,比如set(集合),JSON本身没有对应的类型。json.dumps()函数会抛出一个类型错误。在这种情况下,需要先将集合转换为列表等JSON支持的类型。
      import json
      data = {"fruits": {"apple", "banana", "cherry"}}
      data["fruits"] = list(data["fruits"])
      json_str = json.dumps(data)
      print(json_str)
      
  3. 将JSON字符串转换为Python对象(反序列化)
    • 基本用法
      • 使用json.loads()函数可以将JSON字符串转换为Python对象。
      import json
      json_str = '{"name": "John", "age": 30, "city": "New York"}'
      data = json.loads(json_str)
      print(data)
      print(data["name"])
      
      • 输出的data是一个Python字典,可以像操作普通字典一样获取其中的值。
    • 处理JSON数组
      • 如果JSON字符串是一个数组,json.loads()会将其转换为Python列表。
      import json
      json_str = '[{"name": "John", "age": 30}, {"name": "Alice", "age": 25}]'
      data = json.loads(json_str)
      print(data)
      print(data[0]["name"])
      
      • 输出的data是一个包含两个字典的Python列表。
  4. 从文件中读取和写入JSON数据
    • 写入JSON数据到文件
      • 可以使用json.dump()函数将Python对象写入文件。
      import json
      data = {"name": "John", "age": 30, "city": "New York"}
      with open("data.json", "w") as f:
          json.dump(data, f)
      
      • 这样就将data字典以JSON格式写入了名为data.json的文件中。
    • 从文件中读取JSON数据
      • 使用json.load()函数从文件中读取JSON数据并转换为Python对象。
      import json
      with open("data.json", "r") as f:
          data = json.load(f)
      print(data)
      
      • 这会读取data.json文件中的JSON数据并转换为Python字典,然后可以在程序中使用这个字典。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值