zoukankan      html  css  js  c++  java
  • Python对JSON的操作 day3

    下面将为大家介绍如何使用python语言来编码和解码json对象;

    json串就是一个字符串,json串必须用双引号,不能使用单引号

    使用json函数需要导入json库,import json

    1、json.dumps: 将python对象编码成json字符串

    2、json.loads :将已编码的json字符串解码为python对象

    json.dump()和json.load()主要用来读写json文件函数

    1、json.dump() : 将json信息写入文件

    2、json.load() :读取json文件转为字典

    下面是举例说明:

    已知如下json串:
    d={ "error_code": 0, "stu_info": [ { "id": 314, "name": "矿泉水", "sex": "", "age": 18, "addr": "北京市昌平区", "grade": "摩羯座", "phone": "18317155663", "gold": 100 }, { "id": 315, "name": "矿泉水", "sex": "", "age": 27, "addr": "上海", "grade": "摩羯座", "phone": "18317155664", "gold": 100 } ] }

    一、将字典转换为字符串写入文件:

    1、方法1:

    with open('abc.json','w',encoding='utf-8') as fw:
        s = json.dumps(d,ensure_ascii=False,indent = 4)
        fw.write(s)
        #1、中文乱码问题 ensure_ascii=False
        #2、美观的问题 indent=n 的意思是每一个key前面加n个空格的意思
        #3、abc.json可将json的颜色打印出来

    2、方法2:

    with open('abc.json','w',encoding='utf-8') as fw:
        json.dump(d,fw,indent=4,ensure_ascii=False)
        #不需要手动的write一次,直接可写入文件(第一个传入字典,第二个传入文件)
        #此方法同上面两行代码的含义,更简单

    二、将文件的字符串转换为字典:

    1、方法1:

    with open('abc.txt',encoding='utf-8') as fr:
        result = fr.read()
        print('result,刚从文件里面读出来的:',type(result))
        dic = json.loads(result)
        print('dic,转换之后的',dic,type(dic))

    2、方法2:

    with open('abc.txt',encoding='utf-8') as fr:
        result= json.load(fr)
        print('result',result,type(result))
        # 直接读出文件内容,转为字典;此方法相当于上面方法1的代码含义

     帮助理解可参考博客:

    https://www.cnblogs.com/xiaomingzaixian/p/7286793.html

  • 相关阅读:
    原型设计
    简单APP——ToDoList的二次开发(日期规范化+构建搜索栏)
    Java基本语言篇
    C++中各种常用转换汇总学习
    语言篇swift
    洛谷P2384 最短路,积化加
    洛谷P4568 分层图最短路
    【洛谷P1962】矩阵快速幂求Fibonacii数列
    vue-cli教程
    单页应用原理
  • 原文地址:https://www.cnblogs.com/candysalty/p/10972287.html
Copyright © 2011-2022 走看看