如何用Python的data.get获取JSON中X/Y键本身而非内部内容?
解决方案
要获取JSON中B节点下的X或Y对应的完整子对象,只需在data.get('B', {})的基础上嵌套一次.get()方法,和你获取A节点下key1的逻辑一致:
获取X节点内容
data = json.load(open('file.json')) print(f"##vso[task.setvariable variable=varX;isOutput=true]{data.get('B', {}).get('X', {})}")
获取Y节点内容
data = json.load(open('file.json')) print(f"##vso[task.setvariable variable=varY;isOutput=true]{data.get('B', {}).get('Y', {})}")
说明
- 你之前的代码
data.get('B', {})返回的是整个B节点的完整内容(包含X和Y两个子节点),因此需要通过二次.get()精准定位到X或Y。 - 第二个参数
{}是兜底默认值,确保当B节点不存在或者X/Y节点不存在时,不会抛出KeyError,而是返回空字典。
内容的提问来源于stack exchange,提问作者Josh Cuesta
相关产品推荐
相关产品推荐

