Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 以字符串格式打印json数据_Python_Json - Fatal编程技术网

Python 以字符串格式打印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

我的模型中有许多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:{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
    方法