【问题标题】:Mongo JSON doesn't parse like a dictionaryMongo JSON 不像字典那样解析
【发布时间】:2018-12-09 15:40:40
【问题描述】:

我正在从我的 MongoDB 中提取以下 JSON,但是,当我尝试遍历“数据”时,循环会返回它,就像我在解析字符串而不是给我 JSON 的元素一样。

    {'_id': ObjectId('5c0a3626c33f166b5bf387bc'), 
    'pos_date': '2018-12-07', 
    'data': '{"SRG": 0.0, "URO": 0.0, "FLT": 0.0, "SDC": 0.0, "EXE": 0.0, ..... }

当我运行这段代码时:

    pos = posts['data']
        for p in pos:
            print (p)

我一个字母一个字母地得到结果,而不是 JSON 的元素。

    {
    "
    S
    R
    G
    "
    :

    0
    .
    0
    ,

    "
    U

一定是我犯了一个简单的错误。有什么建议吗?

【问题讨论】:

  • 看来您错误地将 data 值存储为 JSON 字符串,而不是对象。

标签: json python-3.x mongodb


【解决方案1】:

如上所述,posts['data'] 是一个字符串,在 python 中,字符串就像一个字符列表,这就是您在问题中得到响应的原因。

下面的代码将 json 字符串解码为 python dict。干杯

import json

posts = json.loads(posts['data'])

【讨论】:

    【解决方案2】:

    这是一个字符串。

    要将其解析为json,请执行

    import json
    
    pos = json.loads(posts['data'])
    

    【讨论】:

      猜你喜欢
      • 2015-12-08
      • 2016-02-11
      • 2019-07-08
      • 1970-01-01
      • 1970-01-01
      • 2011-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多