• 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)

    ......

  • 相关阅读:
    drf中ListSerializer源码
    drf中get/post/delete/put/patch五大接口
    drf三大认证组件
    drf序列化与反序列化,基表的概念
    drf序列化与反序列化
    drf解析,异常,响应模块
    drf 简介以及部分源码分析
    vue学习第四天
    vue学习第三天
    MySQLStudy——索引
  • 原文地址:https://www.cnblogs.com/reyinever/p/8613568.html
Copyright © 2020-2023  润新知