zoukankan      html  css  js  c++  java
  • python笔记-dumps()与loads()的使用

    json.dumps是将一个Python数据类型列表进行json格式的编码解析,

    示例如下:

    >>> import json #导入python 中的json模块
    >>> l = [‘iplaypython’,[1,2,3], {‘name’:’xiaoming’}] #创建一个l列表
    >>> encoded_json = json.dumps(l) # 将l列表,进行json格式化编码
    >>> print repr(l)
    >>> print encoded_json #输出结果

    这样我们就将一个list列表对象,进行了json格式的编码转换。

    在使用json.dumps时要注意一个问题

    >>> import json
    >>> print json.dumps('中国')
    "u4e2du56fd"
    输出的会是'中国' 中的ascii 字符码,而不是真正的中文。这是因为json.dumps 序列化时对中文默认使用的ascii编码.想输出真正的中文需要指定ensure_ascii=False:
    >>> import json
    >>> print json.dumps('中国')
    "u4e2du56fd"
    >>> print json.dumps('中国',ensure_ascii=False)
    "中国"

    json.dumps()函数有多个参数:indent参数用于表示美化格式输出时的缩进占位个数,ensure_ascii参数默认为True,这样utf-8格式的非ASCII编码内容会被翻译成ASCII编码输出,要想得到字符的真实表示,需要将这个参数设置为False。其他参数还有:skipkeys,separators,sort_keys等。

    解码python json格式,可以用这个模块的json.loads()函数的解析方法,
    示例如下:

    >>> decode_json = json.loads(encoded_json)
    >>> print type(decode_json) #查看一下解码后的对象类型
    >>> print decode_json #输出结果

    将python json格式解码成Python数据风格

    json.dump和json.dumps很不同,json.dump主要用来json文件读写,和json.load函数配合使用。

    json.dump(x,f),x是对象,f是一个文件对象,这个方法可以将json字符串写入到文本文件中。

    import json
    data = [{"a":"aaa","b":"bbb","c":[1,2,3,(4,5,6)]},33,'tantengvip',True]
    data2 = json.dumps(data)
    print(data2)
    f = open('./tt.txt','a')
    json.dump(data2,f)

    这样就生成了一个tt.txt文件,保存了json格式的数据。dumps还提供pritty print,格式化的输出。 

    json.load加载json格式文件   下面是从txt文件中读取了json数据。

    f = open('./tt.txt','r')
    hehe = json.load(f)
    print(hehe)

    总结:

    json.dumps : dict转成str     json.dump是将python数据保存成json

    json.loads:str转成dict          json.load是读取json数据 

  • 相关阅读:
    (十)jQuery对表单、表格的操作
    (九)jQuery中的动画(载)
    (八)jQuery中的事件
    (七)jQuery中的DOM操作
    (六)jQuery选择器
    (五)解决jQuery和其它库的冲突
    (四)DOM对象和jQuery对象
    (三)初识jQuery
    (二)关于jQuery
    (一)关于jQuery的网上资源
  • 原文地址:https://www.cnblogs.com/lily1989/p/8195505.html
Copyright © 2011-2022 走看看