• python json数据格式


    Python json模块

    JSON(JavaScript Object Notation)是javascript对象表示法,它是一种基于文本,轻量级数据交换格式,

    JSON有两种表示结构,一种是对象结构,一种是数组结构。
    对象结构以{键:值}的形式表示,类似于字典的形式。

    例如:
    {
    	1:{
    	"city_id":01,
    	"city_name":"北京",
    	"area":["城东区","城南区"]
    	},
    	2:{
    	"city_id":2,
    	"city_name":"上海",
    	"area":["浦东区","朝阳区"]
    	}
    }
    
    数组结构以[元素1,元素2,元素3]的形式表示。
    例如:
    [	{
    	"red":1,
    	"blue":2,
    	"green":3
    	},
    	{
    	"apple":8,
    	"banana":6
    	}
    ]
    

      

    在Python中,提供json库来创建和解析json数据
    json函数:
    json.dumps() 将Python对象编码成json字符串

    语法格式:

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

    json.loads() 将已编码的json字符串解码为Python对象

    语法格式:

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

    Python与json转化对照表:

    Python 				json
    dict				object
    list、tuple			array
    str、unicode			string
    int、long、float		        number
    True				true
    False				false
    None				null    
    

      

    以下是Python创建json数据的实例

    import json 
    
    dist_1=[["a",1],["b",{"q":2,"w":6,"e":4,"r":3}]]
    
    json_1=json.dumps(dist_1)
    print json_1
    运行结果:
    [["a", 1], ["b", {"q": 2, "r": 3, "e": 4, "w": 6}]]
    [Finished in 0.3s]
    
    [格式化数据]
    #-*-encoding:utf-8-*-
    import json 
    
    dist_city={
    	1:{
    	"city_id":01,
    	"city_name":"北京",
    	"area":["城东区","城南区"]
    	},
    	2:{
    	"city_id":2,
    	"city_name":"上海",
    	"area":["浦东区","朝阳区"]
    	}
    }
    print dist_city
    
    #格式化输出json数据
    json_city=json.dumps(dist_city,sort_keys=True,indent=4)
    print json_city
    
    运行结果:
    {1: {'city_id': 1, 'city_name': 'xe5x8cx97xe4xbaxac', 'area': ['xe5x9fx8exe4xb8x9cxe5x8cxba', 'xe5x9fx8exe5x8dx97xe5x8cxba']}, 2: {'city_id': 2, 'city_name': 'xe4xb8x8axe6xb5xb7', 'area': ['xe6xb5xa6xe4xb8x9cxe5x8cxba', 'xe6x9cx9dxe9x98xb3xe5x8cxba']}}
    {    #格式化后的json数据
        "1": {
            "area": [
                "u57ceu4e1cu533a", 
                "u57ceu5357u533a"
            ], 
            "city_id": 1, 
            "city_name": "u5317u4eac"
        }, 
        "2": {
            "area": [
                "u6d66u4e1cu533a", 
                "u671du9633u533a"
            ], 
            "city_id": 2, 
            "city_name": "u4e0au6d77"
        }
    }
    [Finished in 0.3s]
    
    [压缩]
    
    dist_1=[["a",1],["b",{"q":2,"w":6,"e":4,"r":3}]]
    json_1=json.dumps(dist_1)
    print "压缩前数据:%d" %(len(json_1))
    #压缩
    json_2=json.dumps(dist_1,separators=(",",":"))
    print "压缩后数据:%d" %(len(json_2))
    运行结果:
    压缩前数据:51
    压缩后数据:41
    [Finished in 0.2s]
    
    loads函数
    #-*-encoding:utf-8-*-
    import json 
    
    dist_1=[["a",1],["b",{"q":2,"w":6,"e":4,"r":3}]]
    json_1=json.dumps(dist_1,indent=4,sort_keys=True,separators=(",",":"))
    print json_1
    json_2=json.loads(json_1)  #将json格式转换为Python关系的格式
    print json_2
    运行结果:
    [
        [
            "a",
            1
        ],
        [
            "b",
            {
                "e":4,
                "q":2,
                "r":3,
                "w":6
            }
        ]
    ]
    [[u'a', 1], [u'b', {u'q': 2, u'r': 3, u'e': 4, u'w': 6}]]
    [Finished in 0.2s]
    

      

  • 相关阅读:
    小白逆袭的真实故事,句句干货不看损失一个亿!
    CODEFORCES 1367F2 FLYING SORT (HARD VERSION)
    整理:iOS开发知识点
    EBS-子库存转移和物料搬运单区别
    Oracle ERP系統借贷关系表
    ORACLE ERP各模块会计分录
    SQL Queries and Multi-Org Architecture in Release 12
    ORALCE EBS ALERT 初体验
    工作流邮件审批设置
    How to Send an Email Using UTL_SMTP with Authenticated Mail Server
  • 原文地址:https://www.cnblogs.com/JcHome/p/10177284.html
Copyright © 2020-2023  润新知