试图解析JSON树(其先验深度未知),以将“ label
”字符串和“ bbox
”字典的值配对在一起。 JSON树还可以(并且通常确实)在名为“ children
”的第三个键列表中嵌套另一个label / bbox键/值。
在此“ children
”列表中,可以依次嵌套另一个(几个)子级(每个子级都有更多的label / bbox键)。
我想解析整个JSON树 递归,并返回以键作为标签的字典 >,并且该键的值可以是bbox
字典的列表或集合。给定标签可以(可能有多个)boundingBoxes
。
因此,类别标签“ dog”可以具有1到多个边界框,每个边界框由“ {topLeft
”,“ topRight
”,“ bottomLeft
”和“ {{ 1}}”字典,每个字典均由“ x”和“ y”键/值定义。
示例输入可能是:
bottomRight
示例输出将展平嵌套结构,并仅返回字典“ "my_tree": [{
"handle": 262258,
"key2": "explorer.exe",
"key3": "Win32",
"box": {
"topLeft": {
"x": 0,
"y": 1331
},
"topRight": {
"x": 2560,
"y": 1331
},
"bottomRight": {
"x": 2560,
"y": 1371
},
"bottomLeft": {
"x": 0,
"y": 1371
}
},
"isOff": false,
"isEnabled": false,
"isKeyboardFocusable": false,
"hasKeyboardFocus": false,
"controlType": 50033,
"uiElementType": "pane",
"children": [{
"key1": 131148,
"key2": "explorer.exe",
"name": "Start",
"key3": "Win32",
"box": {
"topLeft": {
"x": 0,
"y": 1331
},
"topRight": {
"x": 48,
"y": 1331
},
"bottomRight": {
"x": 48,
"y": 1371
},
"bottomLeft": {
"x": 0,
"y": 1371
}
},
"isOff": false,
"isEnabled": false,
"isKeyboardFocusable": false,
"hasKeyboardFocus": false,
"controlType": 50000,
"uiElementType": "button",
"children": []
}
”和labels
字典的关联集(或列表)。
看起来像这样:
bbox