【问题标题】:Convert JSON String to JSON object using json.dumps in Python在 Python 中使用 json.dumps 将 JSON 字符串转换为 JSON 对象
【发布时间】:2020-08-28 14:29:42
【问题描述】:

我有一个 JSON 字符串

{
    "zone1" : 
    [
        {
            "detected_people" : 
            {
                "coordinates" : 
                [
                    [
                        22,
                        3
                    ],
                    [
                        21,
                        6
                    ],
                    [
                        16,
                        21
                    ]
                ]
            },
            "gridOrigin" : 
            [
                28.5,
                20.600000000000001
            ],
            "gridScale" : 0.5,
            "gridSizeX" : 50,
            "gridSizeY" : 50,
            "stamp" : "2020-08-28 22:23:05",
            "zoneID" : "shop1"
        }
    ]
}

当我使用 json.dumps 转换为 JSON 对象时

  info=data.decode("utf-8")
  print(info)
  json_obj = json.dumps(info)
  print(type(json_obj))
  print(json_obj)

我有很多\t,类型仍然是<class 'str'>

"{\n\t\"zone1\" : \n\t[\n\t\t{\n\t\t\t\"detected_people\" : \n\t\t\t{\n\t\t\t\t\"coordinates\" : \n\t\t\t\t[\n\t\t\t\t\t[\n\t\t\t\t\t\t22,\n\t\t\t\t\t\t3\n\t\t\t\t\t],\n\t\t\t\t\t[\n\t\t\t\t\t\t21,\n\t\t\t\t\t\t6\n\t\t\t\t\t],\n\t\t\t\t\t[\n\t\t\t\t\t\t16,\n\t\t\t\t\t\t21\n\t\t\t\t\t]\n\t\t\t\t]\n\t\t\t},\n\t\t\t\"gridOrigin\" : \n\t\t\t[\n\t\t\t\t28.5,\n\t\t\t\t20.600000000000001\n\t\t\t],\n\t\t\t\"gridScale\" : 0.5,\n\t\t\t\"gridSizeX\" : 50,\n\t\t\t\"gridSizeY\" : 50,\n\t\t\t\"stamp\" : \"2020-08-28 22:23:05\",\n\t\t\t\"zoneID\" : \"shop1\"\n\t\t}\n\t]\n}"

如何将我的 JSON 字符串 info 转换为 JSON 对象?

【问题讨论】:

    标签: json python-jsons


    【解决方案1】:

    使用json.loads 代替json.dumps

    info=data.decode("utf-8")
    print(info)
    json_obj = json.loads(info)
    print(type(json_obj))
    print(json_obj)
    

    输出

    {
        "zone1" :
        [
            {
                "detected_people" :
    ...........
                "zoneID" : "shop1"
            }
        ]
    }
    
    <class 'dict'>
    {'zone1': [{'detected_people': {'coordinates': [[22, 3], [21, 6], [16, 21]]}, 'gridOrigin': [28.5, 20.6], 'gridScale': 0.5, 'gridSizeX': 50, 'gridSizeY': 50, 'stamp': '2020-08-28 22:23:05', 'zoneID': 'shop1'}]}
    

    【讨论】:

    • 是的 Json.loads 将双引号变为单引号。然后我在网络服务上有问题。我使用的解决方案是json_obj = json.dumps(json.loads(info))
    猜你喜欢
    • 1970-01-01
    • 2011-04-20
    • 1970-01-01
    • 2019-08-27
    • 2020-05-27
    • 1970-01-01
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    相关资源
    最近更新 更多