• Python3 之 JSON


    一.简介:

     序列化/(Serialization): 将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON,XML等,反序列化就是从存储区域(JSON,XML),读取反序列化对象的状态,重新创建改对象。

    JSON(Java Script Object Notation): 一种轻量级数据交互格式,相对于XML而言更简单,也易于阅读和编写,及其也方便解析和生产,Json是JavaScript中的一个子集

    python2.6版本开始加入了JSON模块,python的json模块序列化与反序列化的过程分别是encoding 和decondig

      encoding: 把一个python对象编码转换成Json字符串

      decoding 把json格式字符串编码换成python对象

    二.应用      JSON 提供四个方法  dumps,dump,loads,load

     1.JSON  dumps 序列化

    1 1 import json
    2 #dumps 功能
    3 #将数据通过特殊的形式转换为所有程序语言都认识的字符串
    4 2 dic = {"name":"simple","age":"22"}
    5 3 dic_json = json.dumps(dic)
    6 4 #将JSON序列化之后的数据写到文件中。
    7 5 with open("dumps.txt","w") as f:
    8 6     f.write(dic_json)

    2. JSON loads 反序列化

     1 import json
    #loads 功能
    #将json编码的字符串在转换为python的数据结构 2 with open("dumps.txt","rb") as f: 3 data = f.read() 4 dic = json.loads(data) 5 print(dic)
    说明

     JSON 编码支持的基本类型有: None, boll , int, float,string,list,tuple,dict对于字典,JSON会假设key是字符串(字典中的任何非字符串key都会在编码时转换为字符串),要符合JSON规范,应该只对python列表和字典进行编码。

    json编码的格式几乎和python语法一致,略有不同的是:True会被映射为true,False会被映射为false,None会被映射为null,元组()会被映射为列表[],因为其他语言没有元组的概念,只有数组,也就是列表。

    1  >>> import json
    2  >>> data = {'a':True, 'b':False, 'c':None, 'd':(1,2), 1:'abc'}
    3  >>> j_str = json.dumps(data)
    4  >>> j_str
    5 5'{"a": true, "c": null, "d": [1, 2], "b": false, "1": "abc"}'
  • 相关阅读:
    解决命令行乱码问题(中文乱码)
    Outlook 修改归档文件顶层目录名
    (职员)2015-11-11 星期三 日志
    职员)2015-11-10 星期二 日志
    职员)2015-11-09 星期一 日志
    (职员)2015-11-05 星期四 日志
    (职员)2015-11-04 星期三 日志
    (职员)2015-11-03 星期二 日志
    (职员)2015-11-02 星期一 日志
    (职员)2015-10-31 星期六 周志
  • 原文地址:https://www.cnblogs.com/simple001/p/7458963.html
Copyright © 2020-2023  润新知