• python(6)——处理json


    • json是通用的数据类型,所有语言都认识 (接口的返回值一般都是json字符串)
    • k-v {} json中的key value必须用双引号包起来 校验json格式是否正确 www.bjson.com
    • json是字符串

    json串转成字典:json.loads()

     1 import json
     2 s='''
     3 {
     4         "error_code": 0,
     5         "stu_info": [
     6                 {
     7                         "id": 309,
     8                         "name": "小白",
     9                         "sex": "男",
    10                         "age": 28,
    11                         "addr": "河南省济源市北海大道32号",
    12                         "grade": "天蝎座",
    13                         "phone": "18512572946",
    14                         "gold": 100
    15                 },
    16                 {
    17                         "id": 310,
    18                         "name": "小白",
    19                         "sex": "男",
    20                         "age": 28,
    21                         "addr": "河南省济源市北海大道32号",
    22                         "grade": "天蝎座",
    23                         "phone": "18516572946",
    24                         "gold": 100
    25                 }
    26         ]
    27 }
    28 '''
    29 res=json.loads(s)  # 将json串转换成字典
    30 print(res)
    31 print(type(res))
    32 print(res.keys()) 

    result:

    1 {'stu_info': [{'sex': '', 'phone': '18512572946', 'id': 309, 'grade': '天蝎座', 'name': '小白', 'gold': 100, 'age': 28, 'addr': '河南省济源市北海大道32号'}, {'sex': '', 'phone': '18516572946', 'id': 310, 'grade': '天蝎座', 'name': '小白', 'gold': 100, 'age': 28, 'addr': '河南省济源市北海大道32号'}], 'error_code': 0}
    2 <class 'dict'>
    3 dict_keys(['stu_info', 'error_code'])

    json.loads()和json.load()区别

    1 f=open('stus.json',encoding='utf-8')
    2 user_dic=json.loads(f.read()) #传入字符串
    3 print(user_dic)
    4 
    5 f=open('stus.json',encoding='utf-8')
    6 user_dic=json.load(f)  #直接传入文件对象
    7 print(user_dic)

    字典转成json串:json.dumps()

     1 import json
     2 stu={'小小':'123456','小黑':'23456',"小臂":'45655','ll':'455756454'}
     3 res2=json.dumps(stu,indent=8,ensure_ascii=False)  #indent控制缩进  ensure_ascii 正常显示中文
     4 print(type(res2))
     5 print(res2)
     6 with open('stus.json','w',encoding='utf-8') as f:
     7  f.write(res2)
     8 
     9 #dump()  如果要把字典写入文件中,用dump比dumps方便      dump()和load()都是和文件相关的
    10  json.dump(stu, f, indent=4, ensure_ascii=False) #dump直接将字典写到文件中,不需要再写一次write()

    result:

    <class 'str'>
    {
            "ll": "455756454",
            "小臂": "45655",
            "小黑": "23456",
            "小小": "123456"
    }
  • 相关阅读:
    Ubuntu下hadoop2.4搭建集群(单机模式)
    软考历程(2)——海明码校验
    key 串口
    android删除文件出错
    ORACLE 11G没有备份文件參数文件在异机通过rman备份恢复找回被误删的数据
    【SICP归纳】2 高阶函数和数据抽象
    Java加密算法 AES
    从BAE到SAE,从SAE又回到BAE
    velocity-字母序号 list
    Java 加密解密 对称加密算法 非对称加密算法 MD5 BASE64 AES RSA
  • 原文地址:https://www.cnblogs.com/HathawayLee/p/9573799.html
Copyright © 2020-2023  润新知