zoukankan      html  css  js  c++  java
  • python读写json文件

    json释义
    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。

    python内置类型 与 json类型对应关系

    JSONPython
    object dict
    array list
    string str
    number (int) int
    number (real) float
    true True
    false False
    null None

     

    编码(python内置类型->json类型)

    json.dump(obj,fp)  //接收一个对象和写文件指针,将python内置类型数据转化为json类型数据写到文件对象中

    json.dumps(obj)  //将python内置类型转化为json格式的str

    官方文档

    json.dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None,sort_keys=False, **kw)

    json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

    常用参数:

    skipkey:keys不是内置数据类型时,该值设置为False时将抛出错误,设置为True时将跳过,默认False

    indent 为缩进,默认为空

    sort_keys:设置为True时将按key值排序,默认为False

    xxx@xxx:$ touch a.json  //创建json文件 xxx@xxx:$ python3
    >>> b = {'zhang':35,'li':48}
    >>> fp = open('a.json','w')  //创建文件对象
    >>> import json
    >>> json.dump(b,fp)  //dump方法
    >>> fp.close()
    >>> test = json.dumps(a)  //dumps方法
    >>> test
    '{"li": 48, "zhang": 35}'
     xxx@xxx:$ cat a.json  //查看文件
     {"zhang: 48, "li": 35}

    解码(json类型->python内置数据类型)

    json.load(fp)  //接收一个读文件指针,将json文件内容解析为python内置类型数据

    json.loads(s)  //接收一个json格式的str,解析为python内置类型数据

    官方文档

    json.load(fp, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)

    json.loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)

    常用参数:

    object_hook:用于定制解码器,默认为dict类型的

    >>> fp = open('a.json','r')
    >>> b = json.load(fp)  
    >>> b
    {'zhang': 48, 'li': 35}
    >>> c = json.loads(test)
    >>> c
    {'zhang': 48, 'li': 35}
  • 相关阅读:
    应用SecureCRT(发送接收文件)
    应用mysql(Linux中安装)
    应用tomcat(Linux中安装)
    应用Oracle(Linux中的安装)
    关于Linux(时间网路同步)
    VmWare问题解决(网络变更后虚拟主机无法上网)
    [Android学习笔记]Bitmap,BitmapDrawable,BitmapFactory学习笔记
    [Android学习笔记]获取view的尺寸和坐标
    [Android学习笔记]继承自ViewGroup的控件的过程学习
    [Android学习笔记]Canvas的使用
  • 原文地址:https://www.cnblogs.com/lht-record/p/8169406.html
Copyright © 2011-2022 走看看