zoukankan      html  css  js  c++  java
  • 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)

    ......

  • 相关阅读:
    C. Tavas and Karafs 二分查找+贪心
    字符串前缀和后缀匹配
    E
    网络流最经典的入门题 各种网络流算法都能AC。 poj 1273 Drainage Ditches
    B
    Dividing 多重背包 倍增DP
    Doing Homework 状态压缩DP
    Largest Rectangle in a Histogram 常用技巧 stack的运用
    S = A + A2 + A3 + … + Ak. (推矩阵公式+矩阵幂运算)
    安卓开发:图片的显示Mode
  • 原文地址:https://www.cnblogs.com/reyinever/p/8613568.html
Copyright © 2011-2022 走看看