zoukankan      html  css  js  c++  java
  • python_json

    json: 作为不同语言间交互的一种共知"格式",不同语言数据交换,以及不同程序之间进行内存数据交换。

    简单例子:

    import json
    
    data = {'kk':222,44:'ssss',99:['ss','gg']}
    dict_to_json = json.dumps(data)   #把字典转化成json格式,也可以说是字符串(可以存硬盘)
    print dict_to_json
    
    json_to_dict = json.loads(dict_to_json)    #把json转字典
    
    print json_to_dict

    结果:

    {"kk": 222, "99": ["ss", "gg"], "44": "ssss"}
    {u'kk': 222, u'99': [u'ss', u'gg'], u'44': u'ssss'}

    json是常用于数据转换,但也不是所有的数据都可转换,面对复杂的数据格式,如时间格式,只能先把时间格式转成字符串格式,然后再转json。

    关于json里的dump和dumps以及load和loads的区别:

    import json
    '''
    a = range(10)   #创建个列表
    
    f = file('a_to_json.txt','wb')
    
    json.dump(a,f)    #直接执行json格式化及写入文件(硬盘)里
    
    f.close()
    '''
    
    f2 = file('a_to_json.txt')
    
    data2 = json.load(f2)    #读取出来,并转化回原来数据格式
    
    f2.close()
    
    #print type(data1)
    print type(data2)

    #结果:<type 'list'>

    从上课看出dump和dumps区别就是dump是直接对硬盘操作,而dumps操作数据存在内存,至于使用哪个,要看需求,dump写入文件方便,但它直接写内存速度可能会

    有影响。load和loads区别就是,load省略了读的步骤。

    在处理较复杂的数据类型时(如时间、类等),可以使用pickle,pickle在使用上和json基本一样。注:测试后函数不行

    import pickle
    import datetime
    
    a = [11,22,33,44]
    
    b = pickle.dumps(a)
    c = pickle.dumps(datetime.datetime.now())
    
    print b
    print '==========================================='
    print c
    print '==========================================='
    d = pickle.loads(c)
    print d

    结果 :

    (lp0
    I11
    aI22
    aI33
    aI44
    a.
    ===========================================
    cdatetime
    datetime
    p0
    (S'x07xe0x08x0bx12x02.x01xbdP'
    p1
    tp2
    Rp3
    .
    ===========================================
    2016-08-11 18:02:46.114000

  • 相关阅读:
    21.Merge Two Sorted Lists 、23. Merge k Sorted Lists
    34. Find First and Last Position of Element in Sorted Array
    leetcode 20. Valid Parentheses 、32. Longest Valid Parentheses 、301. Remove Invalid Parentheses
    31. Next Permutation
    17. Letter Combinations of a Phone Number
    android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配注意事项
    oc 异常处理
    oc 类型判断
    oc Delegate
    oc 协议
  • 原文地址:https://www.cnblogs.com/fengzaoye/p/5761540.html
Copyright © 2011-2022 走看看