Python Kivy JSON存储数据操作-递归操作

Python Kivy JSON存储数据操作-递归操作,python,json,recursion,kivy,Python,Json,Recursion,Kivy,我有json存储数据,需要添加新数据或更新现有数据。 如果类型为LAYOUT,则检查elemets prop中的子项 if self.store.exists('renderComponentArray'): # print('renderComponentArray exists:', self.store.get('renderComponentArray')['elements']) localStagedElements =

我有json存储数据,需要添加新数据或更新现有数据。 如果类型为LAYOUT,则检查elemets prop中的子项

        if self.store.exists('renderComponentArray'):
            # print('renderComponentArray exists:', self.store.get('renderComponentArray')['elements'])
            localStagedElements = self.store.get('renderComponentArray')['elements']
            #######################
            # First just root
            if self.currentLayoutId == None:
                localStagedElements.append(calculatedButtonData)
            else:
                isFounded = False
                for index, item in enumerate(localStagedElements):
                    if item['id'] == self.currentLayoutId:
                        localStagedElements[index]['elements'].append(calculatedButtonData)
                        isFounded = True
                        break
                if isFounded == False:
                    for index, item in enumerate(localStagedElements):
                        if item['type'] == 'LAYOUT':
                            for sindex, sitem in enumerate(item['elements']):
                                if sitem['id'] == self.currentLayoutId:
                                    localStagedElements[index]['elements'][sindex]['elements'].append(calculatedButtonData)
                                    break

        # Final
        self.store.put('renderComponentArray', elements=localStagedElements)
这是硬编码的部分,解决了我需要深入探索无限解的两个层次

我已经为
read
proces执行了此操作,但是如果
white
我需要通过
localStagedElements
我在返回时尝试了它,但在自调用func中进行调试既复杂又缓慢