在python中解析JSON对象

2024-09-28 22:28:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试对我们的Wi-Fi控制器进行一些(JSON)API调用并获取一些信息。当我将JSON响应存储到dict中时,它只看到几个键,即:

   dict_keys(['totalCount', 'hasMore', 'firstIndex', 'list'])

和项目:

   dict_items([('totalCount', 32), ('hasMore', False), ('firstIndex', 0), 
   ('list', [{'id': 'ehgfhafgf', 'name': 'fasdfsd 
   xxxx'}, {'id': 'efasfsfas', 
   'name': 'zxcva'}])])

我删除了很多项目,所以它会有一些意义,否则它将是太多的文字。你知道吗

正如您所看到的,dict将错误的变量识别为键。因为作为键我需要idname。有没有一种方法可以手动分配dict键或者一种技巧来模拟这种情况?你知道吗

我的代码:

#Method that retrieves all zones
def getZones():
    r = requests.get("url..", verify=False, cookies=cookie)
    print(type(r.json()))
    jsonResponse = r.json()
    print("items: \n") 
    print(jsonResponse.items())
    print("\nkeys: \n")
    print(jsonResponse.keys())
    print(jsonResponse.get('id'))
    return r

因为调试的原因做了很多打印。你知道吗


Tags: 项目nameidjsonfalsegetitemskeys
1条回答
网友
1楼 · 发布于 2024-09-28 22:28:14

如果您显示了实际的JSON响应,您的问题会更清楚。你知道吗

但是,从您发布的内容可以清楚地看出,idname确实不是顶级键,而是分配给list键的列表中嵌套字典中的键。所以你应该从那里得到它们:

for item in jsonResponse['list']:
    print(item['id'], item['name'])

相关问题 更多 >