Python 用数据附加json元数据
我想在下面附加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
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)