• python对象转化为json串、json串转化为python串


    1.1. JSON简介:

    JavaScript Object Notation(JavaScript对象表示法)

    JSON是存储和交换文本信息的语法。类似XML

    JSONXML更小、更快、更易解析

    1.2. JSON语法规则:

    1)数据在名称/值对中  (重要)

    2)数据由逗号分隔

    3)花括号保存对象

    4)方括号保存数组

    如:

    1.3. JSON对象:

    {“firstName”:”john”,”lastName”:”Doe”}

    1.4. JSON数组:

    {

    “employees”:[

        {“firstName”:”John”,”lastName”:”Doe”},

        {“firstName”:”Anna”,”lastName”:”Smith”},

        {“firstName”:”Peter”,”lastName”:”Jones”}

    ]

    }

    1.5. json.dumps()json.loads()

    json模块的序列化和反序列化分别是dumpsloads

    json.dumps():将一个python对象编码成json字符串

    json.loads():JSON格式的字符串解码成python对象

    >>> a=[{1:12,'a':12.3},[1,2,3],(1,2),'asd',u'ad',12,13L,3.3,True,False,None]
    >>> print "编码后: ",json.dumps(a)
    编码后:
    [{"a": 12.3, "1": 12}, [1, 2, 3], [1, 2], "asd", "ad", 12, 13, 3.3, true, false, null]
    >>> print u"解码后: ",json.loads(json.dumps(a))
    解码后:
    [{u'a': 12.3, u'1': 12}, [1, 2, 3], [1, 2], u'asd', u'ad', 12, 13, 3.3, True, False, None]
    >>>

    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字符串,是一个str对象encodedjson

    dumps函数的参数很多,我一般会用到的如下:

    (1)sort_keys:

    data = [ { 'a':'A', 'c':(2, 4), 'b':3.0 }]

    print json.dumps(data)

    print json.dumps(data, sort_keys=True)

    (2)indent:

    print json.dumps(data, sort_keys=True, indent=3)

    (3)separators:

    print len(json.dumps(data, separators=(',',':')))

    print json.dumps(data,separators=(',',':'))

    (4)skipkeys:

    data= [ { 'a':'A', 'b':(2, 4), 'c':3.0, (1,2):'D tuple' } ]

    print u"不设置skipkeys 参数"

    try :

        res1 = json.dumps(data)

    except Exception, e:

        print e

    print u"设置skipkeys 参数"

    print json.dumps(data, skipkeys=True)

    ......

  • 相关阅读:
    hashlib对密码进行加密
    django中model的choices字段
    django在表发生变化后需执行命令
    djangopost请求报错:Forbidden (CSRF token missing or incorrect.)
    阻止浏览器自动填入账号和密码
    django表的models的参数及含义
    django设置静态文件
    Django的admin管理工具设置中文
    径向渐变
    文档对象的获取
  • 原文地址:https://www.cnblogs.com/reyinever/p/8613568.html
Copyright © 2020-2023  润新知