首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python -如果json数组中不存在键,则跳过键

Python -如果json数组中不存在键,则跳过键
EN

Stack Overflow用户
提问于 2020-05-28 21:57:37
回答 1查看 509关注 0票数 0

我有一个很大的json数组,它列出了某些键值对。数组中的每个元素应如下所示:

代码语言:javascript
复制
{
   "id" : "tmp3269879718695646867",
   "owner" : "johndoe",
   "x11-display" : ":7",
   "x11-authority" : "/run/user/1676/dcv/tmp3269879718695646867.xauth",
   "num-of-connections" : 0,
   "creation-time" : "2019-05-15T20:05:46.170274Z",
   "last-disconnection-time" : "2019-07-19T15:14:37.349168Z"
 },

然后,我在末尾附加一个开始方括号和一个结束方括号,以使其有效JSON。有时,数组中大约有100个元素。由于软件升级,如果用户未断开连接,则上次断开时间键不会出现在此输出上。我想做的是循环遍历数组中的每个元素,但如果上次断开连接时键不存在,则跳过整个元素。这是我到目前为止在循环中得到的:

代码语言:javascript
复制
for item in json_array:
        session_details = {"owner":None, "num-of-connections":None, "last-disconnection-time":None}
        session_details['owner'] = item['owner']
        user = item['owner']
        session_details['num-of-connections'] = item['num-of-connections']
        session_details['last-disconnection-time'] = item['last-disconnection-time']
        # Format date
        ...

我想要做的是在每次循环时检查项目。如下所示:

代码语言:javascript
复制
for item in json_array:
        session_details = {"owner":None, "num-of-connections":None, "last-disconnection-time":None}
        session_details['owner'] = item['owner']
        user = item['owner']
        session_details['num-of-connections'] = item['num-of-connections']
        if "last-disconnection-time" in json_array:
                session_details['last-disconnection-time'] = item['last-disconnection-time']
        else:
                print("last-disconnection-time does not exist in this array item")
        # Format date
        ...

但是,在运行脚本时,我仍然会得到KeyError。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-28 22:29:39

您需要检查"last-disconnection-time“是否在项中。json_array是你的全部列表。item是一个字典,您想要在其中查找键是否存在。

代码语言:javascript
复制
if "last-disconnection-time" in item:
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62066527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档