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

  • 相关阅读:
    Android学习之APP点击功能闪退问题的处理一
    RN TextInput用法
    OC仿QQ侧滑
    UIKIT_EXTERN和define定义常量
    iOS添加pch文件
    UICollectionView横向分页
    OC,UITableView侧滑删除
    OC图片滑动验证
    OC屏幕手势解锁
    OC分割输入验证码的视觉效果
  • 原文地址:https://www.cnblogs.com/lxgbky/p/12957346.html
Copyright © 2011-2022 走看看