• python初步学习-python 模块之 json


    json 模块

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写。一般API返回的数据大多是 JSONXML,如果返回JSON的话,将获取的数据转换成字典,方便在程序中处理。

    JSON库经常用的有两种方法dumps()loads();还有 dump()load()

    • dump()load()通常用于对文件进行编码和解码,用的较少。
    • dumps()loads()通常用于对字符串进行编码和解码

    dumps()

    json.dumps()用于将python对象编码成JSON字符串

    >>> dict = {'user':[{'user1': 123}, {'user2': 456}]}
    >>> type(dict)
    <type 'dict'>
    >>> json_str = json.dumps(dict)
    >>> type(json_str)
    <type 'str'>
    >>> print json_str
    '{"user": [{"user1": 123}, {"user2": 345}]}'
    
    ## 请注意如果直接使用 str() 函数对字典进行字符串处理
    >>> json_str_test = str(dict)
    >>> print json_str_test
    "{'user': [{'user1': 123}, {'user2': 345}]}"
    
    

    直接进行字符串处理,和通过 json.dumps() 处理的结果虽然都是字符串,但是字符串中的 key 的格式不一样。这种不一样导致了 通过 json.dumps() 处理后的数据属于合法数据。查看 JSON 数据是否合法可以使用下面这个网站。

    JSON表达式检验网站

    loads()

    json.loads()用于将JSON字符串解码为python对象,该函数返回python字段的数据类型。

    >>> dict = {'user':[{'user1': 123}, {'user2': 456}]}
    >>> json_str = json.dumps(dict)
    >>> print json_str
    {"user": [{"user1": 123}, {"user2": 456}]}
    >>> d = json.loads(json_str)
    >>> print d
    {u'user': [{u'user1': 123}, {u'user2': 456}]}
    
    ## 可以通过 Key 来获取相对应的 Vlaue
    >>> d['user']
    [{u'user1': 123}, {u'user2': 456}]
    
  • 相关阅读:
    CDN缓存
    nginx作用
    Linux下4个查找命令which、whereis、locate、find
    @ModelAttribute的用法,与@RequestBody的区别
    将kafka消息解析拷贝
    永久代溢出(java.lang.OutOfMemoryError: PermGen space )
    失败重试机制-递归应用1
    kafka-重复消费-2
    读写分离-延时问题-1
    UILabel处理html标签
  • 原文地址:https://www.cnblogs.com/pingqiang/p/7828661.html
Copyright © 2020-2023  润新知