• python json模块


    三. json

      1. json模块的作用

        当我们从网上的到一个网页的时候,一般会得到三种数据(从网站上得到的数据最终都是字符串)

          <1>. html  html我们都知道是一种标记语言,具有固定的格式。

          <2>. json  json不是一种语言,但是它具有固定的格式,就是类似字典,元组,列表的格式的字符串,我们可以功过json让其进行相互转换

          <3>. xml     xml是另一种语言,类似于html,也具备固定的格式,有tag,attitude,text等。可以通过xml进行解析

      2. json模块的使用方法

     1 json.loads()        将字符串格式的字典和元组转换成对应的字典或者元组
     2     
     3         import json
     4         s1 = '''{
     5             "name":"hu",
     6             "age":1,
     7             "gender":"man"
     8         }'''
     9         a = json.loads(s1)
    10         print(a, type(a))
    11     # 结果:
    12         {'name': 'hu', 'age': 1, 'gender': 'man'} <class 'dict'>
    13     # 注意s1中不能出现单引号
    14 
    15 json.dumps()        将字典或者列表转换成字符串
    16         
    17     
    18         import json
    19         s2 = {'age': 1, 'gender': 'man', 'name': 'hu'}
    20         a = json.dumps(s2)
    21         print(a, type(a))    
    22     # 结果:   
    23         {"gender": "man", "age": 1, "name": "hu"} <class 'str'>
    24         
    25 
    26 json.dump()     写入中文会是乱码,暂时没有找到转换字符的地方
    27     
    28         s2 = {
    29         "name":'zhou',
    30         "age":12,
    31         "gender":"woman"
    32         }
    33         import json
    34         json.dump(s2, open('test1', 'a', encoding='utf-8'))
    35     # 结果: 追加到test1的内容
    36             {
    37         "name":"hu",
    38         "age":1,
    39         "gender":"man"
    40         }{"age": 12, "name": "zhou", "gender": "woman"}
    41         
    42         
    43         
    44 json.load()         将文件中的字符串转换成字典类型
    45     #  test1 文件中的内容就是下面的字典
    46         import json
    47         a = json.load(open('test1', 'r', encoding='utf-8'))
    48         print(a, type(a))
    49     # 结果:
    50         {'name': 'hu', 'gender': 'man', 'age': 1} <class 'dict'>   
  • 相关阅读:
    UltraISO写入时提升硬盘映像容量太小
    Ubuntu下查找某个文件属于哪个包
    2012 Server R2安装VMware Tool出现KB2919355的代码
    vCenter通过模板部署虚拟机
    Ubuntu配置IP地址
    记一次flex布局中子项目尺寸不受flexshrink限制的问题
    注解@Async的使用 Roy
    异步任务 :无返回值 和有返回值 Roy
    hibernate得到数据后会自动更新到数据库
    ksmtuned占用CPU高
  • 原文地址:https://www.cnblogs.com/ltn26/p/10983887.html
Copyright © 2020-2023  润新知