Python 用数据附加json元数据

Python 用数据附加json元数据,python,python-3.x,flask,Python,Python 3.x,Flask,我想在下面附加json和数据 meta = [{ "output_metadata": { "api_URL": apiURL, "query_execution_time": queryExecTime, "api_execution_time": apiExecTime, } }] jsondata = json.dumps([dict(ix) for ix in Dat

我想在下面附加json和数据

meta = [{
        "output_metadata": {
            "api_URL": apiURL,
            "query_execution_time": queryExecTime,
            "api_execution_time": apiExecTime,    
        }
    }]

jsondata = json.dumps([dict(ix) for ix in Data], default=str)
json数据:

{"data": [{"id": "1234", "name": "jhon", "dept": "APA"}]}

meta.append(jsondata)
预期结果:

{"output_metadata": {"api_url": "xxxxx", "query_execution_time":"xxxxx", "api_execution_time":"xxxxx"}},{"data": "[{"id": "1234", "name": "jhon", "dept": "APA"}]}
输出:

{"output_metadata": {"api_url": "XXXXXX", "query_execution_time": "XXXXXX", "api_execution_time":"XXXXXX" }},{"data": "[{"\id": "1234\", "\name": "\jhon", "\dept": "\APA"}]}

如何从最终输出中删除?

如果您上面写的是python,那么您创建的元变量无效,因为在每个“之前,您应该使用转义字符,并且每次进入新行。例如,您应该编写:

        meta = ["{\
                \"output_metadata\": {\
                    \"api_URL\": apiURL,\
                    \"query_execution_time\": queryExecTime,\
                    \"api_execution_time\": apiExecTime,    \
                }\
            }"]    

        data = ["{\"data\": {\"id\": \"1234\", \"name\": \"jhon\", \"dept\": \"APA\"}]}"]

        meta.append(data)
将json作为字符串处理,然后将它们附加到一个列表中。这是您想要的吗

编辑:如果您运行类似

        data = [{"id": 1234, "name": "jhon", "dept": "APA" }]
        jdata= json.dumps([dict(ix) for ix in data], default=str) 
        apiURL = 'url'
        queryExecTime = 1 
        apiExecTime = 1 
        meta = [{ "output_metadata": { "api_url": apiURL, 
        "query_execution_time": queryExecTime,
        "api_execution_time": apiExecTime, } }]

        jdata = { "data": jdata } 

        meta.append(jdata)
        res = json.dumps(meta) 
        print(res)
结果将是:

         '[{"output_metadata": {"api_url": "url", "query_execution_time": 1, "api_execution_time": 1}}, {"data": "[{\\"id\\": 1234, \\"name\\": \\"jhon\\", \\"dept\\": \\"APA\\"}]"}]'

\用作“”的转义字符。您可以将结果视为文本字符串

您的预期结果无效。我只是尝试附加两个json,但在输出中我得到\data=json.dumps([dict(ix)for ix in data],default=str)如何删除此转义字符?您能澄清一下您的意思吗?哪个变量是数据?将代码粘贴到此处jdata=json.dumps([dict(ix)for ix in qData],default=str)apiURL=request.url queryExecTime=qedata apiExecTime=time.time()-api_start_time meta=[{“output_metadata”:{“api_url”:apiURL,“查询执行时间”:queryExecTime,“api_执行时间”:apiExecTime,}}]jdata={“数据”:jdata}meta.append(jdata)返回json.dumps(meta)