【问题标题】:Problem printing json data from python script从 python 脚本打印 json 数据的问题
【发布时间】:2019-04-16 07:20:40
【问题描述】:

我有一个应该打印 json 数据的 python 脚本。

这就是我的脚本中的内容:

 finaldata = {   
  "date": datetime.datetime.utcnow().isoformat(),
  "voltage_mv":emeter["voltage_mv"],
  "current_ma":emeter["current_ma"],
  "power_mw":emeter["power_mw"] ,
  "energy_wh": emeter["total_wh"],
    }

    print(finaldata)

我从 Node-RED 运行脚本,因为我需要将数据发送到存储帐户(当然是 json 格式)。问题是正在发送的数据如下所示:

{'power_mw': 0, 'date': '2019-04-16T07:12:19.858159', 'energy_wh': 2, 'voltage_mv': 225045, 'current_ma': 20}

当它应该看起来像这样才能正确存储在我的存储帐户中时:

{"power_mw": 0, "date": '2019-04-16T07:12:19.858159', "energy_wh": 2, "voltage_mv": 225045, "current_ma": 20}

(对以后使用很重要,因为我已经在存储帐户中遇到错误)。

有谁知道为什么会发生这种情况以及我该如何解决?提前致谢

【问题讨论】:

  • json 对象被转换成一个字典,根据你的 python 版本不保证排序。
  • 您发布的两个 json 看起来都一样吗?您想告诉我们的区别是什么?
  • @DeveshKumarSingh 打印时我需要一个 " 而不是 '。但问题现在已经解决了。谢谢。

标签: json python-3.x printing


【解决方案1】:

您应该使用 python json 模块并将您的 python dict 转储到 json:

import json

finaldata = {"power_mw": 0, "date": '2019-04-16T07:12:19.858159',
             "energy_wh": 2, "voltage_mv": 225045, "current_ma": 20}

print(json.dumps(finaldata))

JSON Reference

订单检查链接OrderedDict 或阅读OrderedDict collection Reference

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-30
    • 2017-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-05
    相关资源
    最近更新 更多