怎样优雅地从多级的json里得到有效信息呢?

[复制链接]
查看: 9032   回复: 8
发表于 2022-7-1 14:51:11 | 显示全部楼层 |阅读模式
用Python处理

我举例一个json

json里又title是目录,然后也会按照这个值来创建文件夹保存文件

type是folder的时候,里面还有二级目录,然后还可能会有三级四级的目录

思路我是有一点点的,遍历json,然后判断type,不是folder就直接保存文件名,下载链接,是folder就继续往下遍历,得到全部文件名和链接之后就下载它们

  1. [    {      "type": "folder",      "title": "目录1",      "children": [        {          "type": "audio",          "hash": "hash/0",          "title": "01.xxxx.wav",          "workTitle": "标题",          "mediaStreamUrl": "在线链接",          "mediaDownloadUrl": "下载链接"        },        {            "type": "audio",            "hash": "hash/1",            "title": "02.xxxx.wav",            "workTitle": "标题",            "mediaStreamUrl": "在线链接",            "mediaDownloadUrl": "下载链接"          }      ]    },    {      "type": "folder",      "title": "目录2",      "children": [        {          "type": "audio",          "hash": "hash/2",          "title": "01.xxxx.wav",          "workTitle": "标题",          "mediaStreamUrl": "在线链接",          "mediaDownloadUrl": "下载链接"        },        {            "type": "audio",            "hash": "hash/3",            "title": "02.xxxx.wav",            "workTitle": "标题",            "mediaStreamUrl": "在线链接",            "mediaDownloadUrl": "下载链接"          }      ]    },    {      "type": "text",      "hash": "hash/4",      "title": "Readme.txt",      "workTitle": "标题",      "mediaStreamUrl": "在线链接",      "mediaDownloadUrl": "下载链接"    }  ]
复制代码
回复

使用道具 举报

 楼主| 发表于 2022-7-1 14:52:08 | 显示全部楼层
优雅是不是码农专用矫情词?感觉很多码农都喜欢用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-1 14:52:58 | 显示全部楼层
帮顶
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-1 14:53:37 | 显示全部楼层
jsonc/jsoncpp了解一下,再或者python处理
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-1 14:53:57 | 显示全部楼层
jsonpath    jq
回复 支持 反对

使用道具 举报

发表于 2022-7-1 14:54:05 | 显示全部楼层
array map
回复 支持 反对

使用道具 举报

发表于 2022-7-1 14:54:16 | 显示全部楼层
json [] 是数组写法,{} 是对象。
$json [0]->children[0]->title  // 0.1.xxx.wav
昨天才学的,希望可以帮到你。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-1 14:55:02 | 显示全部楼层
编程的优雅?你要的应该就是 循环跟递归 就够了吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-1 14:55:20 | 显示全部楼层
:lol还要考虑容错
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则