如何将多个一维json转换为一个多维?

  • 本文关键字:一个 转换 一维 json python json
  • 更新时间 :
  • 英文 :


你好帮帮我请朋友!我:

[
{
"id": 1,
"name": "Zach But",
"article": "Article_1"
},
{
"id": 2,
"name": "Zach But",
"article": "Article_2"
},
{
"id": 3,
"name": "Ann Spring",
"article": "Article_3"
},
{
"id": 4,
"name": "Ann Spring",
"articles": "Article_4"
}
]

需要结果:

[
{
"id": 1,
"name": "Zach But",
"article": [
"Article_1",
"Article_2"
]
},
{
"id": 2,
"name": "Ann Spring",
"article": [
"Article_3",
"Article_4"
]
}
]

也就是说,我有关于拥有不同文章的作者的重复数据,并且我需要将这些文章添加到每个作者中,以便作者不会重复自己。请告诉我怎样做才对。

f = open('authors_test.json')
data = json.load(f)
for i in range(0, len(data)):
if data[i]['name'] == data[i-1]['name']:
# dont know

我可以从文件中加载json并按作者名称比较对象,但我不知道如何进一步实现我所需要的,以便我最终与每个作者一个对象,它有一个文章数组

您可以编写python代码,其中如果JSON值name相等,则将article value附加到articles array

代码:

newarr = []
for i in range(1, len(arr)):
if arr[i].name == arr[i-1].name:
newarr[i].append(arr[i].article)
newarr[i].append(arr[i].name)
newarr[i].append(arr[i].id)