【发布时间】:2019-07-30 18:54:32
【问题描述】:
我有一本包含以下 json 元素的字典。
myjsonDictionary = \
{
"Teams": {
"TeamA": {
"@oid": "123.0.0.1",
"dataRequestList": {
"state": {
"@default": "0",
"@oid": "2"
}
},
"TeamSub": {
"@oid": "3",
"dataRequestList": {
"state": {
"@default": "0",
"@oid": "2"
}
}
}
},
# ....many nested layers
}
}
我有以下问题,目前对如何解决此问题感到非常困惑。 当我请求“TeamA”或“TeamSub”等“键”时,我希望能够解析该字典并获得“@oid”值和相应“@oid”的连接。
我有一个接收 gettheiDLevelConcatoid(myjsonDictionary, key) 的函数。
我可以这样调用这个函数:
gettheiDLevelConcatoid(myjsonDictionary, key) where "key" is like "TeamA"
预期的输出应该是“123.0.0.1.2”。注意 2 附加到 123.0.0.1。
gettheiDLevelConcatoid(myjsonDictionary, key) where "key" is like TeamSub
Output is "123.0.0.1.3.2". Note the "3.2" added to the "123.0.0.1".
我目前的实现:
def gettheiDLevelConcatoid(myjsonDictionary, key)
for item in myjsonDictionary:
if (item == key):
#not sure what to do
我对如何为此实现通用方法或方法感到迷茫。
【问题讨论】:
-
贴出你当前的函数体,你已经尝试过简单的遍历了吗?
-
您迷失了如何实现一个通用的方法或方法? - 从
Teams的简单循环开始 -
@RomanPerekhrest 我查看了字典,但不确定如何访问这些属性。我不确定是否有简单的方法或内置函数可以简化遍历。添加了我现在拥有的代码。
-
key的搜索深度有多大? -
@RomanPerekhrest 请查看对问题所做的更新