'unable to normalize the json data fully
I'm trying to normalize the below json data, but the data of "permissions" array is not getting normalized. I have used the "normalize" method of the pandas but not getting the desired output. I want all the data like ("permissions.id", "permissions.self", "permissions.holder.type" and so on) inside the permissions array for every object(there will be multiple objects in that) Can any one help me out for this?
{
"permissionSchemes": [
{
"expand": "permissions,user,group,projectRole,field,all",
"id": 10002,
"self": "https://api.atlassian.com/ex/jira/bacd1a93-d349-44c5-b786-b79cc80f7d31/rest/api/3/permissionscheme/10002",
"name": "CDP: Simplified Permission Scheme",
"scope": {
"type": "PROJECT",
"project": {
"id": "10002"
}
},
"permissions": [
{
"id": 11079,
"self": "https://api.atlassian.com/ex/jira/bacd1a93-d349-44c5-b786-b79cc80f7d31/rest/api/3/permissionscheme/10002/permission/11079",
"holder": {
"type": "projectRole",
"parameter": "10106",
"expand": "projectRole"
},
"permission": "VIEW_ISSUES"
},
{
"id": 11078,
"self": "https://api.atlassian.com/ex/jira/bacd1a93-d349-44c5-b786-b79cc80f7d31/rest/api/3/permissionscheme/10002/permission/11078",
"holder": {
"type": "projectRole",
"parameter": "10106",
"expand": "projectRole"
},
"permission": "VIEW_PROJECTS"
},
]
}
]
}
Solution 1:[1]
You can try with pandas.json_normalize()
df = pd.json_normalize(data['permissionSchemes'], record_path=['permissions'], meta=['expand', 'id', 'self', 'name', ['scope', 'type'], ['scope', 'project', 'id']], record_prefix='permissions.')
permissions.id \
0 11079
1 11078
permissions.self \
0 https://api.atlassian.com/ex/jira/bacd1a93-d349-44c5-b786-b79cc80f7d31/rest/api/3/permissionscheme/10002/permission/11079
1 https://api.atlassian.com/ex/jira/bacd1a93-d349-44c5-b786-b79cc80f7d31/rest/api/3/permissionscheme/10002/permission/11078
permissions.permission permissions.holder.type permissions.holder.parameter \
0 VIEW_ISSUES projectRole 10106
1 VIEW_PROJECTS projectRole 10106
permissions.holder.expand expand \
0 projectRole permissions,user,group,projectRole,field,all
1 projectRole permissions,user,group,projectRole,field,all
id \
0 10002
1 10002
self \
0 https://api.atlassian.com/ex/jira/bacd1a93-d349-44c5-b786-b79cc80f7d31/rest/api/3/permissionscheme/10002
1 https://api.atlassian.com/ex/jira/bacd1a93-d349-44c5-b786-b79cc80f7d31/rest/api/3/permissionscheme/10002
name scope.type scope.project.id
0 CDP: Simplified Permission Scheme PROJECT 10002
1 CDP: Simplified Permission Scheme PROJECT 10002
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Ynjxsjmh |
