python解析多层json操作示例


Posted in Python onDecember 30, 2019

本文实例讲述了python解析多层json操作。分享给大家供大家参考,具体如下:

原始文件内容:

{
  "MaskPolygonItem": {
    "0": {
      "BoundingBox": "354.105 221.957 379.764 96.2241",
      "label": "Number",
      "labelNum": 0,
      "polygon": "3,6"
    }
  },
  "channels": 3,
  "height": 1080,
  "width": 1920
}

修改并保存代码

#coding=utf-8 
import os
import json
#获取目标文件夹的路径
filedir = r'J:\NumberData\mrcnnHik\test'
#获取文件夹中的文件名称列表 
filenames=os.listdir(filedir)
#遍历文件名
for filename in filenames:
  filepath = filedir+'/'+filename
  # print(filepath)
  after = []
  # 打开文件取出数据并修改,然后存入变量
  with open(filepath, 'r') as f:
    data = json.load(f)
    mask=data["MaskPolygonItem"]
    for zidian in mask:
      print(type(zidian))
      mask[zidian]["polygon"] = '354 221,355 310,729 318,733 236'
    after = data
  # 打开文件并覆盖写入修改后内容
  with open(filepath, 'w') as f:
    #结构化输出
    data = json.dump(after, f,sort_keys=True, indent=4, separators=(',', ': '))

修改之后内容(仅修改了polygon)

{
  "MaskPolygonItem": {
    "0": {
      "BoundingBox": "354.105 221.957 379.764 96.2241",
      "label": "Number",
      "labelNum": 0,
      "polygon": "354 221,355 310,729 318,733 236"
    }
  },
  "channels": 3,
  "height": 1080,
  "width": 1920
}
Python 相关文章推荐
简单介绍Python2.x版本中的cmp()方法的使用
May 20 Python
python使用正则表达式提取网页URL的方法
May 26 Python
Python使用minidom读写xml的方法
Jun 03 Python
Django进阶之CSRF的解决
Aug 01 Python
解决Django中多条件查询的问题
Jul 18 Python
Python制作词云图代码实例
Sep 09 Python
使用Python完成15位18位身份证的互转功能
Nov 06 Python
python取均匀不重复的随机数方式
Nov 27 Python
Python实现汇率转换操作
May 03 Python
快速了解Python开发环境Spyder
Jun 29 Python
python pandas dataframe 去重函数的具体使用
Jul 20 Python
利用python批量爬取百度任意类别的图片的实现方法
Oct 07 Python
pytorch 求网络模型参数实例
Dec 30 #Python
利用python3 的pygame模块实现塔防游戏
Dec 30 #Python
pytorch 批次遍历数据集打印数据的例子
Dec 30 #Python
python多线程使用方法实例详解
Dec 30 #Python
Python动态声明变量赋值代码实例
Dec 30 #Python
使用pytorch实现可视化中间层的结果
Dec 30 #Python
在Pytorch中计算自己模型的FLOPs方式
Dec 30 #Python
You might like
php中文字母数字验证码实现代码
2008/04/25 PHP
mysql总结之explain
2012/02/27 PHP
PHP的时间戳与具体时间转化的简单实现
2016/06/13 PHP
Jquery 1.42 checkbox 全选和反选代码
2010/03/27 Javascript
jQuery前台数据获取实现代码
2011/03/16 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
2013/11/05 Javascript
javascript事件委托的方式绑定详解
2015/06/10 Javascript
详解JavaScript的Polymer框架中的通知交互
2015/07/29 Javascript
Bootstrap 粘页脚效果
2016/03/28 Javascript
JavaScript必知必会(五) eval 的使用
2016/06/08 Javascript
完全深入学习Bootstrap表单
2016/11/28 Javascript
layer弹窗插件操作方法详解
2017/05/19 Javascript
AngularJS获取json数据的方法详解
2017/05/27 Javascript
angular1配合gulp和bower的使用教程
2018/01/19 Javascript
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
微信公众平台 发送模板消息(Java接口开发)
2019/04/17 Javascript
详解在HTTPS 项目中使用百度地图 API
2019/04/26 Javascript
Egg Vue SSR 服务端渲染数据请求与asyncData
2019/11/24 Javascript
基于canvas实现手写签名(vue)
2020/05/21 Javascript
Vue中使用JsonView来展示Json树的实例代码
2020/11/16 Javascript
Django的session中对于用户验证的支持
2015/07/23 Python
理论讲解python多进程并发编程
2018/02/09 Python
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
python同步windows和linux文件
2019/08/29 Python
浅析使用Python搭建http服务器
2019/10/27 Python
Python 忽略文件名编码的方法
2020/08/01 Python
Square Off美国/加拿大:世界上最聪明的国际象棋棋盘
2018/12/06 全球购物
MAC Cosmetics巴西官方网站:M·A·C彩妆
2019/04/18 全球购物
TCP/IP的分层模型
2013/10/27 面试题
什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
2013/07/26 面试题
妇女儿童发展规划实施方案
2014/03/16 职场文书
村长党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
学校班子个人对照检查材料思想汇报
2014/09/27 职场文书
创业计划书之奶茶店开店方案范本!
2019/08/06 职场文书
MySQL时间设置注意事项的深入总结
2021/05/06 MySQL
如何利用python创作字符画
2022/06/25 Python