当前位置: 首页 > news >正文

python 使用json包在json格式字符串和python对象之间的变化

起因:使用python json包时,将键值对均为数字的字典存入txt文件后重新加载进字典后出现“字典key值不唯一”的神奇现象。

相关代码:

字典添加数据部分

    def xuhao_chuti(self):rand = random.randint(1, 908)if rand in self.memery.keys() and self.memery[rand] >=2:return self.xuhao_chuti()elif rand in self.memery.keys() :return randelse:self.memery[rand] = 0return rand

字典重新加载部分

    def in_chuti_jilu(self):self.memery = dict()try:f= open(self.output_chutijilu_file,'r',encoding='utf-8')self.memery = json.load(f)f.close()print('加载了出题记录:',len(self.memery))except Exception as e:print('出错了:',e)

经过查找资料后得出结论:

字典在调用json.dumps()时,将字典原本key值为数字,转换为了字符串类型,再次导入为字典后,key值也就是字符串类型了,再进行key值存在判断时,就出现了已有‘100’的key值,但还是添加了100的key值,再次调用json.dumps()时,文件就出现了键值一样的情况。

json格式标准

JSON 数据的书写格式是:名称/值对。
名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:
例如:“name”:“小明”

http://www.lryc.cn/news/206324.html

相关文章:

  • 【C++】继承 ⑫ ( 继承的二义性 | virtual 虚继承 )
  • Linux网络流量监控iftop
  • 【虚幻引擎UE】UE4/UE5 基于2D屏幕坐标获取场景3D坐标 射线检测(蓝图/C++)
  • 【OpenHarmony】系统编译环境搭建笔记
  • 深入理解JVM虚拟机第十二篇:JVM中的线程说明
  • synchronized 、ReentrantLock
  • 用VSCODE启动Java项目
  • 最简单的修改linux系统上Docker的镜像源
  • layui移除(删除)table表格的一行
  • 67 跳跃游戏 II
  • 客户中心模拟(Queue and A, ACM/ICPC World Finals 2000, UVa822)rust解法
  • 方案聚焦:高可用的F5分布式云DNS负载均衡
  • 大数据性能测试方案-V1.0
  • Kafak - 单机/集群快速安装指北(3.x版本)
  • 互联网Java工程师面试题·Spring篇·第五弹
  • XTU-OJ 1221-Binary
  • Chromium源码由浅入深(三)
  • 如何集成验证码短信API到你的应用程序
  • Linux- 由映射文件I/O问题引出的SIGBUS 空洞文件(Sparse File)
  • 代码随想录图论 第二天 | 695. 岛屿的最大面积 1020. 飞地的数量
  • R语言代码示例
  • ESP32网络开发实例-将 ESP32 连接到 EMQX Cloud MQTT Broker
  • 基于Kubesphere容器云平台物联网云平台Devops实践
  • 淘宝商品详情页API接口|tb获取商品主图接口
  • JAVA面试笔记
  • 尚硅谷Flume(仅有基础)
  • JS中this的绑定规则
  • 酷开科技 | 酷开系统大屏电视,打造精彩家庭场景
  • GDPU 数据结构 天码行空6
  • 机器学习实验三:决策树-隐形眼镜分类(判断视力程度)