使用python修复JSON结构
你能给我一个关于我需要执行的操作/命令的列表提供建议吗,以便使用Python修复下面的JSON。 当前: 预期:使用python修复JSON结构,python,json,Python,Json,你能给我一个关于我需要执行的操作/命令的列表提供建议吗,以便使用Python修复下面的JSON。 当前: 预期: { "artifacts":[ { "path": "scheduler-task", "version": "0.28.2", "type": "helm", "chart": "scheduler-task", "repository": "amd-core-test-h
{
"artifacts":[
{
"path": "scheduler-task",
"version": "0.28.2",
"type": "helm",
"chart": "scheduler-task",
"repository": "amd-core-test-helm-release"
}
]
}
其思想是将每个字符串foo:bar重新映射到一个字典中,其中key为foo,value为bar。下面的代码段将数据转换为所需格式 导入json 数据={ 人工制品:[ [ 路径:调度程序任务, 版本:0.28.2, 类型:头盔, 图表:调度程序任务, 存储库:amd核心测试头盔发布 ], [ 路径:ordernotification notifycustomer, 版本:0.29.5, 类型:头盔, 图表:订单通知通知客户, 存储库:amd核心测试头盔发布 ] ] } 对于rangelendata[人工制品]中的i: 项目_dict={} 对于数据[artifacts][i]中的项: 键,值=项。拆分: item_dict[键]=值 数据[工件][i]=项目目录 printjson.dumpsdata 输出:
{
"artifacts": [
{
"path": "scheduler-task",
"version": "0.28.2",
"type": "helm",
"chart": "scheduler-task",
"repository": "amd-core-test-helm-release"
},
{
"path": "ordernotification-notifycustomer",
"version": "0.29.5",
"type": "helm",
"chart": "ordernotification-notifycustomer",
"repository": "amd-core-test-helm-release"
}
]
}
其思想是将每个字符串foo:bar重新映射到一个字典中,其中key为foo,value为bar。下面的代码段将数据转换为所需格式 导入json 数据={ 人工制品:[ [ 路径:调度程序任务, 版本:0.28.2, 类型:头盔, 图表:调度程序任务, 存储库:amd核心测试头盔发布 ], [ 路径:ordernotification notifycustomer, 版本:0.29.5, 类型:头盔, 图表:订单通知通知客户, 存储库:amd核心测试头盔发布 ] ] } 对于rangelendata[人工制品]中的i: 项目_dict={} 对于数据[artifacts][i]中的项: 键,值=项。拆分: item_dict[键]=值 数据[工件][i]=项目目录 printjson.dumpsdata 输出:
{
"artifacts": [
{
"path": "scheduler-task",
"version": "0.28.2",
"type": "helm",
"chart": "scheduler-task",
"repository": "amd-core-test-helm-release"
},
{
"path": "ordernotification-notifycustomer",
"version": "0.29.5",
"type": "helm",
"chart": "ordernotification-notifycustomer",
"repository": "amd-core-test-helm-release"
}
]
}
你知道他的原始字符串是什么编码的吗?我想知道是什么用它来编码的,因为可能有一种更简单的方法用库来解码它+1个很好的答案您可以使用split:with space将这个空格从value中删除。@suppressionlayer,这确实很有帮助。如果OP提供了源代码,我们可以为它编写一个通用例程或使用一些内置函数。@Kirk,这是真的。然而,这解决了当前的问题,所以我想可以留给OP来解决。@ShubhamSharma同意!如果OP的问题比给出的例子复杂一点,就直接指出它。你知道是什么编码了他的原始字符串吗?我想知道是什么用它来编码的,因为可能有一种更简单的方法用库来解码它+1个很好的答案您可以使用split:with space将这个空格从value中删除。@suppressionlayer,这确实很有帮助。如果OP提供了源代码,我们可以为它编写一个通用例程或使用一些内置函数。@Kirk,这是真的。然而,这解决了当前的问题,所以我想可以留给OP来解决。@ShubhamSharma同意!如果OP的问题比给出的例子更复杂的话,请提前指出。是什么编码了原始字符串,我对编码原始字符串的库感兴趣。是什么编码了原始字符串,我对编码原始字符串的库感兴趣