繁体   English   中英

使用另一个 json 的列表附加 json 数据

[英]appending a json data with a list from another json

var_data = {
        "a" : [ {
        "b" : {
            "c": [
                    {
                        "d": [
                            {
                                "e": {
                                    "f": "hello"
                                    
                                }
                               
                            }
                        ]
                    }
                ]

}
        }]
    }

我想在“d”数组(y 列表)下附加一个列表的 var_data。 该列表将从另一个 json 中获取(从 Flask 中的 POST 请求 json)。 下面是请求json

{
    "a": "bcd",
    
    "w": [
        {
            "e": {
                "f": "hello"
            },
            "y": [
                {
                    
                    "z": "123"
                }
            ]
        }
    ]
}

同样,如果输入字段是一个空的 y 数组,如“y”:[] var_data 也应该有一个空数组“y”:[] 已经尝试了下面从 tobeappended_list 中的请求中获取数组

tobeappended_list=request_data["w"][0]["y"]

然后

for j in range(len(tobeappended_list)):
        var_data["a"][0]["b"]["c"][0]["d"][0].append(tobeappended_list[j]["y"])

但是它会抛出错误,例如 append is not a method for dictionary

已编辑

所需的 var_data

var_data = {
        "a" : [ {
        "b" : {
            "c": [
                    {
                        "d": [
                            {
                                "e": {
                                    "f": "hello"
                                    
                                },
                                "y": [
                {
                    
                    "z": "123"
                }
            ]
                               
                            }
                        ]
                    }
                ]

}
        }]
    }

实际上,您不能将append()与字典一起使用。 这个var_data["a"][0]["b"]["c"][0]["d"][0]应该返回一个列表。

这是您更新和评论后问题的解决方案。

tobeappended_list=request_data["w"][0]["y"]

var_data["a"][0]["b"]["c"][0]["d"][0]["y"] = []

for j in range(len(tobeappended_list)):
    var_data["a"][0]["b"]["c"][0]["d"][0]["y"].append(tobeappended_list[j])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM