我是Python新手,已经有一段时间没有编写代码了。有没有办法将JSON结构中的元素转换为数组?你知道吗
示例
给出:
{
"persons":
{
"city": "Seattle",
"name": "Brian"
}
}
要求:
{
"persons": [
{
"city": "Seattle",
"name": "Brian"
}
]
}
背景: 我想使用重复记录将JSON插入到一个大查询表中。 但这些字段不需要重复,只是在某些情况下会发生。一旦我有了一个数组,一切正常,如果数组丢失,就会返回一个错误。 现在我正在寻找一些python函数,在这里我可以说makemypersons元素是一个包含一个元素的数组。你知道吗
致以最诚挚的问候
编辑:
更具体一点: 我的结构如下。你知道吗
{
"a" : {
"b" : [
{
"c" : {
"foo" : "bar",
...
},
"d" : {
"foo" : "bar",
...
},
"e" : "bar"
},
{
"c" : [
{
"foo" : "bar",
...
},
{
"foo" : "bar",
...
},
{
"foo" : "bar",
...
},
{
"foo" : "bar",
...
},
{
"foo" : "bar",
...
}
],
"d" : {
"foo" : "bar",
...
},
"e" : "bar"
},
{
"c" : {
"foo" : "bar",
...
},
"d" : {
"foo" : "bar",
...
},
"e" : "bar"
}
]
},
"f" : {
"foo" : "bar",
....
}
}
b和c可以重复,但不必重复。无论如何,我需要两个元素作为一个数组。最好的方法是使用JSON、b和c作为输入的可重用函数,因为我们有不同结构的JSON文件。你知道吗
目前我尝试使用@ajrwhite方法来实现我的要求,但我有点吃力。你知道吗
您可以将特定元素更改为列表并重新指定:
输出:
使用
indent
参数进行漂亮打印:输出:
编辑:
如果要将所有元素转换为列表,可以使用一个简单的循环:
输出:
在Python中使用深度嵌套的JSON样式结构(例如MongoDB提取)时,这是一个常见的问题。你知道吗
下面是一种递归方法,它将包含在
[]
中的一个大dict
中的所有dicts
:示例:
输出:
相关问题 更多 >
编程相关推荐