首先-我不是Python大师,只是学习。
我有一个代码,它将我个人Jira空间中的所有问题解析为一个大的JSON变量。我想删除不必要的嵌套字段,如createdAt
等。
你有一个解决方案,如何做到这一点?
这是我的输出示例:
{
"expand": "names,schema",
"issues": [
{
"expand": "operations,versionedRepresentations,editmeta,changelog,renderedFields",
"fields": {
"assignee": {
"active": true,
"avatarUrls": {
"16x16": "https://jira.link.se/secure/useravatar?size=xsmall&avatarId=6559",
"24x24": "https://jira.link.se/secure/useravatar?size=small&avatarId=6559",
"32x32": "https://jira.globalrelay.net/secure/useravatar?size=medium&avatarId=6559",
"48x48": "https://jira.link.se/secure/useravatar?avatarId=6559"
},
"displayName": "Vasiliy Utkin",
"emailAddress": "Vasiliy@utkin.net",
"key": "JIRAHUIRA221",
"name": "uassya@link.se",
"self": "https://jira.link.se/rest/api/2/user?username=uassya@utkin.net",
"timeZone": "America/Toronto"
},
"status": {
"description": "",
"iconUrl": "https://jira.link.se/images/icons/statuses/open.png",
"id": "6559",
"name": "To Do",
"self": "https://jira.link.se/rest/api/2/status/6559",
"statusCategory": {
"colorName": "default",
"id": 2,
"key": "new",
"name": "To Do",
"self": "https://jira.link.se/rest/api/2/statuscategory/2"
}
},
**"summary": "Jumping over the tree"**
},
"id": "2234",
"key": "XXX-1",
"self": "https://jira.link.se/rest/api/2/issue/6559"
}
],
[
{
"expand": "operations,versionedRepresentations,editmeta,changelog,renderedFields",
"fields": {
"assignee": {
"active": true,
"avatarUrls": {
"16x16": "https://jira.link.se/secure/useravatar?size=xsmall&avatarId=6559",
"24x24": "https://jira.link.se/secure/useravatar?size=small&avatarId=6559",
"32x32": "https://jira.globalrelay.net/secure/useravatar?size=medium&avatarId=6559",
"48x48": "https://jira.link.se/secure/useravatar?avatarId=6559"
},
"displayName": "Vasiliy Utkin",
"emailAddress": "Vasiliy@utkin.net",
"key": "JIRAHUIRA221",
"name": "uassya@link.se",
"self": "https://jira.link.se/rest/api/2/user?username=uassya@utkin.net",
"timeZone": "America/Toronto"
},
"status": {
"description": "",
"iconUrl": "https://jira.link.se/images/icons/statuses/open.png",
"id": "6559",
"name": "To Do",
"self": "https://jira.link.se/rest/api/2/status/6559",
"statusCategory": {
"colorName": "default",
"id": 2,
"key": "new",
"name": "To Do",
"self": "https://jira.link.se/rest/api/2/statuscategory/2"
}
},
**"summary": "Jumping over the tree"**
},
"id": "2234",
"key": "XXX-1",
"self": "https://jira.link.se/rest/api/2/issue/6559"
}
],
"maxResults": 50,
"startAt": 0,
"total": 2
}
我尝试了什么-这是我的代码:
json_obj = json.loads(printInfo)
del json_obj["expand"]
del json_obj["maxResults"]
del json_obj["startAt"]
del json_obj["total"]
这些行可以删除所有第一级字段,但不能嵌套。我试图找到删除嵌套值的方法,但没有成功。
我试着写了一些这样的代码:del json_obj[{'issues': {'expand'}}]
但效果不太好。
预期输出是一个新的JSON,其中包含来自样本输入的数据:
{
"active": true,
"displayName": "Vasiliy Utkin",
"emailAddress": "Vasiliy@utkin.net",
"name": "To Do",\*\*
"key": "new",
"name": "To Do",
"summary": "Jumping over the tree"
"key": "XXX-1",
},
{
"active": true,
"displayName": "Vasiliy Utkin",
"emailAddress": "Vasiliy@utkin.net",
"name": "To Do",\*\*
"key": "new",
"name": "To Do",
"summary": "Jumping over the tree"
"key": "XXX-1",
}
我还需要在一个额外的全局变量中有一个key
值。
2条答案
按热度按时间of1yzvn41#
issues
是一个列表,所以循环遍历它并删除嵌套的键。d4so4syb2#
下面是一个将所需信息提取到单独列表中的示例。删除是不够的,因为你需要重新组织。请注意,我已经调整了关键点,以避免重复。
输出: