python之生成多层json结构的实现

网上关于生成多层json结构的比较少,基本都是关于添加元素,解析,怎么转化为json之类的

下面就以文章信息的json为基础来构建多层json。

生成最基本的一个json:

import json

article_info = {}
data = json.loads(json.dumps(article_info))

data['article1'] = 'NONE'

article = json.dumps(data, ensure_ascii=False)
print(article)

将运行结果拿到https://www.json.cn/ 的校验网站上去看下:

将一个json嵌套进去:

import json

article_info = {}
data = json.loads(json.dumps(article_info))

data['article1'] = 'NONE'

article2 = {'title': 'python基础', 'publish_time': '2019-4-1', 'writer': {}}
data['article2'] = article2

article = json.dumps(data, ensure_ascii=False)
print(article)

校验结果:

下面将writer的信息(json)插入其中:

import json

article_info = {}
data = json.loads(json.dumps(article_info))

data['article1'] = 'NONE'

article2 = {'title': 'python基础', 'publish_time': '2019-4-1', 'writer': {}}
data['article2'] = article2

writer = {'name': '李先生', 'sex': '男', 'email': 'xxx@gmail.com'}
data['article2']['writer'] = writer

article = json.dumps(data, ensure_ascii=False)
print(article)

校验结果:

这样多层json结构已完成。

补充拓展:python 读取多层嵌套的json数据

模块名称:jsonpath

主要特点

支持路径及*模糊匹配
支持索引和类似切片功能
支持表达式筛选

jsonpath安装

pip install jsonpath

jsonpath基本语法

jsonpath使用示例

json样例:

代码:

from jsonpath import jsonpath

说明:

1. 匹配结果为一个列表, 无结果返回False

2. 逐级取值, 可使用*代表任意节点 .. 表示任意路径

以上这篇python之生成多层json结构的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python3中的json模块使用详解

    1. 概述 JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式. Python标准库中的json模块提供了JSON数据的处理功能. Python中一种非常常用的基本数据结构就是字典(Dictionary). 它的典型结构如下: d = { 'a': 123, 'b': { 'x': ['A', 'B', 'C'] } } 而JSON的结构如下: { "a": 123, "b": { "x": [&quo

  • python解析多层json操作示例

    本文实例讲述了python解析多层json操作.分享给大家供大家参考,具体如下: 原始文件内容: { "MaskPolygonItem": { "0": { "BoundingBox": "354.105 221.957 379.764 96.2241", "label": "Number", "labelNum": 0, "polygon": &

  • Python实现的读写json文件功能示例

    本文实例讲述了Python实现的读写json文件功能.分享给大家供大家参考,具体如下: 相比java,python对json文件的处理就简单很多.java操作json文件的话需要引用jar包及相关依赖包,想用java操作json的同学可以去百度,这里就不赘述了. 首先说读json文件 在进行json操作之前,首先要了解json的格式,分辨json文件. json文件格式一般有两种: 第一种:每行一个json类似于以下这种形式: ["name":"Tony",&quo

  • python读写json文件的简单实现

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). JSON在python中分别由list和dict组成. 这是用于序列化的两个模块: json: 用于

  • python之生成多层json结构的实现

    网上关于生成多层json结构的比较少,基本都是关于添加元素,解析,怎么转化为json之类的 下面就以文章信息的json为基础来构建多层json. 生成最基本的一个json: import json article_info = {} data = json.loads(json.dumps(article_info)) data['article1'] = 'NONE' article = json.dumps(data, ensure_ascii=False) print(article) 将

  • Python处理PDF及生成多层PDF实例代码

    Python提供了众多的PDF支持库,本文是在Python3环境下,试用了两个库来完成PDF的生成的功能.PyPDF对于读取PDF支持较好,但是没找到生成多层PDF的方法.Reportlab看起来更成熟,能够利用Canvas很方便的生成多层PDF,这样就能够实现图片扫描上来的内容也可以进行内容搜索的目标. Reportlab 生成双层PDF 双层PDF应用PDF中的Canvas概念,先画文字,最后将图片画上去,这样就是两层的PDF. import os # import urllib2 impo

  • python二维键值数组生成转json的例子

    今天出于需要,要将爬虫爬取的一些数据整理成二维数组,再编码成json字符串传入数据库 那么问题就来了,在php中这个过程很简便 ,类似这样: $arr[$key1][$key2]=$value 在python中,字符串竟然不能当做键值,我本身也并不了解python,查了资料也没解决,后来找到这个函数: dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default 于是乎,将键值当做两个参数传进去就等实现类似的

  • 用python生成mysql数据库结构文档

    最近因为项目原因需要编写数据库设计文档,但是由于数据表太多,手动编写耗费的时间太久,所以搞了一个简单的脚本快速生成数据库结构,保存到word文档中. 安装pymysql和document pip install pymysql pip install document 脚本 # -*- coding: utf-8 -*- import pymysql from docx import Document from docx.shared import Pt from docx.oxml.ns im

  • Python 无限级分类树状结构生成算法的实现

    后端研发的同学对无限级分类肯定映像深刻,当初花了不少时间吧? 无限级分类树状结构的应用场景很多,例如后端研发需要把用户相关权限读取出来并生成树状结构,前端研发拿到权限树之后可以按照结构展示用户有权限访问的栏目:再例如网页上的栏目分级: 作者在初次接触树状结构生成需求的时候,也是挠头,后来找到了一个代码少且清晰易懂的生成算法:递归. 首先,确保数据库中存储的类别信息如下: [ {"id": 1, "name": '电器', "parent": 0}

  • Python中优雅处理JSON文件的方法实例

    目录 1. 引言 2. 什么是JSON文件? 3. 使用Python处理JSON文件 3.1. 将JSON文件读取为字典类型 3.2. 将JSON文件读取为Pandas类型 3.3. 使用Pandas读取嵌套JSON类型 3.4. 访问特定位置的数据 3.5. 导出JSON 3.6. 格式化输出 3.7. 输出字段排序 4.总结 5.参考 1. 引言 在本文中,我们将学习如何使用Python读取.解析和编写JSON文件. 我们将讨论如何最好地处理简单的JSON文件以及嵌套的JSON文件,当然我们

  • 利用Python批量生成任意尺寸的图片

    实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片. 效果如下: 目录结构 实现示例 # -*- coding: utf-8 -*- import threading from PIL import Image image_size = range(1, 1001) def start(): for size in image_size: t = threading.Thread(target=create_image, args=(s

  • 利用python自动生成docker nginx反向代理配置

    利用python自动生成docker nginx反向代理配置 由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候,自动生成nginx反向代理,然后reload nginx 我的原则是尽量简单,轻量,内存占用少 目标很明确,只要能监听到docker的容器启动/停止事件,即可 网上查了一下可以用docker events来监听docker事件,试了一下

  • python自动化生成IOS的图标

    本文实例为大家分享了python自动化生成IOS的图标,供大家参考,具体内容如下 每次上架之前都要生成十几个图片感觉无聊麻烦,考虑使用脚本处理 脚本使用python 和一部分shell 处理的,python部分主要是使用PIL库处理图片,和调用shell脚本,shell 主要是操作文件 #coding=utf-8 import os ,threading from PIL import Image import subprocess import json class ImgManager(ob

随机推荐