Python 以字符串格式打印json数据
我的模型中有许多json字段。我想以字符串格式打印它们 我使用的代码是:Python 以字符串格式打印json数据,python,json,Python,Json,我的模型中有许多json字段。我想以字符串格式打印它们 我使用的代码是: data=[] detail=details.objects.filter(Id=item['Id']) for i in compliance: data.append(str("Name")+str(":")+str(i.Name)+str(" , ")+str("Details")+str(":")+str(i.Details) print data 我得到的结果是: Name:ABC, Details
data=[]
detail=details.objects.filter(Id=item['Id'])
for i in compliance:
data.append(str("Name")+str(":")+str(i.Name)+str(" , ")+str("Details")+str(":")+str(i.Details)
print data
我得到的结果是:
Name:ABC, Details:{u'Status': u'True', u'Remarks': u'No Remark'}
预期产出为:
Name:ABC, Details:Status:True,Remarks:No Remark
任何帮助都将不胜感激。检查您的数据是否为dict类型
def打印命令(d):
返回“,”.join([key+”:“+str(d[key])表示输入d])
您可以这样做,假设
遵从性是一个dict/json
- 将密钥保存在列表中
- 迭代该列表并构建一个连接的列表
代码如下所示:
keyorder = ['Name', 'Status', 'Remarks']
res = []
for key in keyorder:
res.append(key + ':' + compliance[key])
', '.join(res)
'Name:ABC, Status:True, Remarks:No remarks'
正如@chkri建议的,首先检查您的数据是否为dict,如果是,则可以尝试以下单线解决方案:
dict={'Name':'ABC', 'Details':{u'Status': u'True', u'Remarks': u'No Remark'}}
print({k:v for k,v in dict.items()})
输出:
{'Name': 'ABC', 'Details': {'Remarks': 'No Remark', 'Status': 'True'}}
您的预期输出无效,无法连接字符串。将它们附加到列表中并使用str.join
方法