• python -Json模块dumps、loads、dump、load


    1、json.dumps()

             json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数。

    import json
     
    name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'} 
    jsObj = json.dumps(name_emb)    
    print(name_emb)
    #{'a': '1111', 'c': '3333', 'b': '2222', 'd': '4444'}
    print(jsObj) #{"a": "1111", "c": "3333", "b": "2222", "d": "4444"} print(type(name_emb))
    #<type 'dict'>
    print(type(jsObj)
    #<type 'str'>
    如果dict不进行dumps(),以dict object形式写入文件,会报错 type error,expect a string
    import json  
      
    name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'}  
              
    emb_filename = ('/home/cqh/faceData/emb_json.json')  
      
    # jsObj = json.dumps(name_emb)    
      
    with open(emb_filename, "w") as f:  
        f.write(name_emb)  
        f.close() 

     2、json.loads()

              json.loads()用于将json格式的str类型的数据转成dict。与dumps()相反。

       json格式的字符串是双引号格式,变成dict是单引号

     3、json.dump()

             json.dump()用于将dict类型的数据转成str,并写入到json文件中。下面两种方法都可以将数据写入json文件

    import json  
      
    name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'}  
              
    emb_filename = ('/home/cqh/faceData/emb_json.json')  
     
    # solution 1
    jsObj = json.dumps(name_emb)    
    with open(emb_filename, "w") as f:  
        f.write(jsObj)  
        f.close()  
        
    # solution 2   
    json.dump(name_emb, open(emb_filename, "w"))
    

      4、json.load()

              json.load()用于从json文件中读取数据。

    import json  
    emb_filename = ('/home/cqh/faceData/emb_json.json')  
    jsObj = json.load(open(emb_filename))    
    print(jsObj)
    print(type(jsObj))
    1. {u'a': u'1111', u'c': u'3333', u'b': u'2222', u'd': u'4444'}
    2.  <type 'dict'>

    总结:

    str= json.dumps(dict), 把python的对象dict ,转换成str格式的json,双引号

    dict= json.loads( str ),把str格式的json(双引号), 变成python的dict(单引号)

    json.dump(dict, strfile ),把python的对象dict 保存成文件,内容是json 字符串(双引号)

    dict=json.load( strfile ),返回的是python的object dict

    参考:https://blog.csdn.net/mr_evanchen/article/details/77879967

  • 相关阅读:
    Java 日志组件(二)
    Java 日志组件(一)
    spring基础——AOP(七)
    ionic cordova 友盟统计添加
    js 页面滑动时禁止触发touchend事件
    ios中iframe页面出现白屏问题
    小程序 onReachBottom 事件快速滑动时不触发的bug
    小程序 web-view 嵌套的网页跳转到小程序内部页面 实现无缝连接
    移动端click事件无反应或反应慢 touchend事件页面滑动时频繁触发
    ios ionic3 跳转第三方地图 xcode加入白名单
  • 原文地址:https://www.cnblogs.com/lxgbky/p/12957346.html
Copyright © 2020-2023  润新知