Python中用json.load() json.loads()加载json数据的方法

Python中用json.load() json.loads()加载json数据的方法Json 模块 dumps loads dump load 函数介绍 1 json dumps nbsp nbsp nbsp nbsp nbsp json dumps 用于将 dict 类型的数据转成 str 因为如果直接将 dict 类型的数据写入 json 文件中会发生报错 因此在将数据写入时需要用到该函数 importjsonna emb a 1111 b 2222 c

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) print(jsObj) print(type(name_emb)) print(type(jsObj)) 运行结果如下: {'a': '1111', 'c': '3333', 'b': '2222', 'd': '4444'} {"a": "1111", "c": "3333", "b": "2222", "d": "4444"} 
   
    
  
若在数据写入json文件时,未先进行转换,报错如下 
 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() 

 

Python中用json.load() json.loads()加载json数据的方法

 

 

转换后再写入,则不报错

Python中用json.load() json.loads()加载json数据的方法

 

 

 2、json.loads()

          json.loads()用于将str类型的数据转成dict。

 import json name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'} jsDumps = json.dumps(name_emb) jsLoads = json.loads(jsDumps) print(name_emb) print(jsDumps) print(jsLoads) print(type(name_emb)) print(type(jsDumps)) print(type(jsLoads)) 运行结果如下: 'a'变成了u'a'是因为发生了类型转换,str会转换成unicode {'a': '1111', 'c': '3333', 'b': '2222', 'd': '4444'} {"a": "1111", "c": "3333", "b": "2222", "d": "4444"} {u'a': u'1111', u'c': u'3333', u'b': u'2222', u'd': u'4444'} 
   
    
     
     
    
  

 

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

 

运行结果如下:

Python中用json.load() json.loads()加载json数据的方法

 

  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)) for key in jsObj.keys(): print('key: %s value: %s' % (key,jsObj.get(key)))

 

 运行结果如下:

{u'a': u'1111', u'c': u'3333', u'b': u'2222', u'd': u'4444'} 
  
    key: a value: 1111 key: c value: 3333 key: b value: 2222 key: d value: 4444 
  

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221437.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午6:06
下一篇 2026年3月17日 下午6:07


相关推荐

  • oracle 9i 登录,oracle登录账号密码oracle9i和oracle10g多版本共存,oracle9i不能连接问题总结…

    oracle 9i 登录,oracle登录账号密码oracle9i和oracle10g多版本共存,oracle9i不能连接问题总结…oracle9i 和 oracle10g 多版本共存 oracle9i 不能连接问题总结机器上先后安装了 oracle9i 和 oracle10g 安装好后 10g 能用 pl sqldeveloper 正常连接 但 9i 总是连不上 总是提示 ORA 12154 TNS 无法解析指定的连接标识符 网上说 oracle 目录下 c oracle ora9i network admin 下的 listener ora 配置

    2026年3月19日
    2
  • 即梦AI升级扶持计划,助力创作者从创作到变现

    即梦AI升级扶持计划,助力创作者从创作到变现

    2026年3月12日
    2
  • Java运算符(超详细!)

    Java运算符(超详细!)一 算术运算符运算符含义 求和 相减 乘积 商 求余数 求模 自加一 自减一 1 运算符 1 1 在变量前当 出现在变量前 会先自加一 在做赋值运算 intx 100 inty x 步骤 System out println x 101 System out println y 1011 2 在变量后当 出现在变量后 会先做赋值运算 再自加 1

    2026年3月17日
    2
  • centos7 php环境搭建

    centos7 php环境搭建centos7php 环境手动搭建 1 先安装 apache yum 安装 yuminstallht 进入配置文件 vi etc httpd conf httpd conf etc httpd conf httpd conf 为配置文件位置 apache 默认就是使用 80 端口防火墙开启 80 端口 一般例如在阿里云网站控制台直接开启即可 服务器常用指令 linux 常用服务的启动 停止 重启操作服务 操作 启动 停止 重启 apache systemctlsta 开启

    2026年3月17日
    2
  • shell循环控制sleep、continue、break

    shell循环控制sleep、continue、break循环控制语句sleepN脚本执行到该步休眠N秒continue跳过循环中的某次循环break跳出循环继续执行后续代码首先,要明确“break”与“continue”的区别:break:在for循环使用break,则跳出这个循环,循环命令结束continue:使用后,在当前循环终止命令,直接进入下个循环而break与countine都是作用于单个循环,如果想要进行多层循环操作,则需要在后面加数字,如break2和continue2。sleepN脚本执行到该步休眠N秒[ro

    2022年7月24日
    8
  • linux 系统进行make menuconfig的时候出错

    linux 系统进行make menuconfig的时候出错错误信息:(ps:当前系统:Linuxlabpc4.13.0-36-generic#40~16.04.1-UbuntuSMPFriFeb1623:25:58UTC2018x86_64x86_64x86_64GNU/Linux)HOSTCCscripts/kconfig/mconf.oInfileincludedfromscripts/kc…

    2022年5月25日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号