zoukankan      html  css  js  c++  java
  • python json

    概念

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

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

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

    • encoding:把一个python对象编码转换成Json字符串。
    • decoding:把json格式字符串编码转换成python对象。

    具体应用

    json提供四个功能:dumps, dump, loads, load

    1 #coding:UTF8
    2 
    3 import json
    4 
    5 data = ['aa','bb','cc']
    6 res = json.dumps(data)  # 将数据通过特殊的形式转换为所有程序语言都认识的字符串
    7 
    8 print res
    dumps功能
    1 #coding:UTF8
    2 
    3 import json
    4 
    5 data = ['aa','bb','cc']
    6 res = json.dumps(data)  # 将数据通过特殊的形式转换为所有程序语言都认识的字符串
    7 mes = json.loads(res)  # 将json编码的字符串再转换为python的数据结构
    8 print mes
    loads功能
    1 #coding:utf8
    2 # 将数据通过特殊的形式转换为所有程序语言都认识的字符串,并写入文件
    3 with open('D:/tmp.json', 'w') as f:
    4     json.dump(data, f)
    dump功能
    1 #coding:utf8
    2 # 从数据文件中读取数据,并将json编码的字符串转换为python的数据结构
    3 with open('D:/tmp.json', 'r') as f:
    4      data = json.load(f)
    load功能

    说明

    json编码支持的基本类型有:None, bool, int, float, string, list, tuple, dict.

      对于字典,json会假设key是字符串(字典中的任何非字符串key都会在编码时转换为字符串),要符合JSON规范,应该只对python列表和字典进行编码。此外,在WEB应用中,把最顶层对象定义为字典是一种标准做法。

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

    1 #coding:UTF8
    2 
    3 import json
    4 
    5 data = {'a':True,'b':False,'c':None,'d':(1,2),1:'abc'}
    6 res = json.dumps(data)  # 将数据通过特殊的形式转换为所有程序语言都认识的字符串
    7 
    8 print res
    View Code

    返回结果:

    {"a": true, "1": "abc", "c": null, "b": false, "d": [1, 2]}

  • 相关阅读:
    VOA 翻译研讨:2009.2.26 教育报道——在美国学习:网络重新阐释学院之旅
    javac Java 编程语言编译器的使用文档
    在Eclipse中集成Ant编程之配置篇
    ANT使用范例
    MySQL实用命令
    [转]java多线程同步
    Perl 教学 列表和数组变量
    MySql常用命令总结
    MySQL 备份和恢复
    log4j配置详解
  • 原文地址:https://www.cnblogs.com/qianyuliang/p/6409708.html
Copyright © 2011-2022 走看看