【问题标题】:merge two lists to form a json合并两个列表形成一个json
【发布时间】:2018-10-25 12:47:24
【问题描述】:

我有两个列表,一个是列名,另一个是数据类型,我想形成一个 json。

示例代码:

columnNameList = ["name", "age"]
dataTypeList = ["string",  "int"]
colDataList = [{"colName": k, "dataType": v} for k, v in zip(columnNameList, dataTypeList)]
colDataDict = {"schema": colDataList}
print(colDataDict)

上面的代码给了我下面的输出,但是所有的东西都用单引号括起来,这是为什么呢?这也是最好的方法吗?

样本输出:

{  

       'schema':[  
          {  
             'colName':'name',
             'dataType':'string'
          },
          {  
             'colName':'age',
             'dataType':'int'
          }
       ]
    }

【问题讨论】:

  • 因为在python中单引号和双引号都代表字符串
  • 您在其中创建字典,而不是 json 对象。这可能会有所帮助stackoverflow.com/questions/26745519/…
  • @SembeiNorimaki:但这不是一个有效的 json,json 应该带有双引号。
  • 好吧,你不是一开始就创建 json @Shankar,你必须使用 json.dumps(colDataDict) 来获取你需要的 json 对象

标签: python json list dictionary


【解决方案1】:

所有内容都用单引号括起来

这是因为 Python 试图显示 Python 字符串,这些字符串可能用单引号或双引号括起来。如果您想要 JSON 格式的输出,您必须将其格式化为 JSON:

import json
print(json.dumps(colDataDict))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-12
    • 2011-09-26
    • 1970-01-01
    • 2014-01-27
    相关资源
    最近更新 更多