将字符串转换为带双引号的字典列表

时间:2019-05-28 06:28:43

标签: python json list dictionary

我正在使用python代码将对象转换为双引号的字典列表。 步骤如下:

脚本调用api端点返回以下输出。

    output:[{value:10,mode:"low",unit:"kg"},
            {value:5,mode:"intermediate",unit:"kg"},
            {value:10,mode:"expert",unit:"kg"},
            {value:2,mode:"admin",unit:"kg"}]


我的目标是将这些数据转换为字典对象列表。

我尝试使用json.loads将上述输出转换为json格式:

  

json.loads(re.sub(r'(\ w +?):',r'“ \ 1”:',输出)

,但双引号已替换为单引号。

我尝试了

  

json.dumps(re.sub(r'(\ w +?):',r'“ \ 1”:',输出))

但这会返回到字符串下面,而不是字典列表中。

    [{"value":10,"mode":"low","unit":"kg"},
     {"value":5,"mode":"intermediate","unit":"kg"},
     {"value":10,"mode":"expert",unit:"kg"},
     {"value":2,"mode":"admin","unit":"kg"}]


我的问题:

  1. 是否可以将上述字符串转换为双引号的字典列表?

  2. 我可以在双引号上方的列表中添加新的字典对象{"value":5,"mode":"admin","unit":"kg"}吗?

请帮助。

1 个答案:

答案 0 :(得分:0)

您使用的引号类型未存储在字典中。您可以(尽管出于样式原因,不应这样做)可以将双引号和单引号混合使用,只要每个单独的字符串在两侧用相同类型的引号引起来即可。 CPython使用单引号输出字典,但这只是实现细节,并不代表任何意义。转换为JSON字符串时,将按照JSON规范的要求编写双引号。