Может, кто-нибудь подскажет, как обновить / вставить поле и значение во вложенный список json в зависимости от условия.
Как и прежде, мой вложенный список JSON похож на
objlist= [{ "label": "1", "children": [{ "label": "2", "children": [{ "label": "3" }]}]}{"label": "4","children": [{ "label": "5"},{ "label": "6"}]}{"label":"7"},{"label":"8"}]
после рекурсии и логики реализации мой вывод будет выглядеть как ниже \
objlist= [{ "label": "1", "children": [{ "label": "2", "children": [{ "label": "3" }]}], "checked":"true"}{"label": "4","children": [{ "label": "5", "checked":"true"},{ "label": "6"}]}{"label":"7"},{"label":"8", "checked":"true"}]
и для этого код будет написан ниже
def get(self, request, format=None):
queryset = models.Master_Industry.objects.filter(parent__isnull=True)
serializer1 = masterserializer.IndustrySerializer(queryset, many=True)
json_string = json.dumps(serializer1.data)
stringobj = 2,5
my_dict = json.loads(json_string)
for item in my_dict:
if item["value"] in stringobj:
item["checked"] = True
continue
for itemchild in item["children"]:
if itemchild["value"] in stringobj:
itemchild["checked"] = True
continue
for itemchildinner in itemchild["children"]:
if itemchildinner["value"] in stringobj:
itemchildinner["checked"] = True
continue
print(my_dict)
return Response(serializer1.data)
Так скажите, пожалуйста, как решить эту проблему?
спасибо