I’m trying to parse json objects, and keep getting stuck with the recursive element of it.
An example object would look like this, but they can come in different formats with different keys.
[ { "key1": "list0 item 0 key1 value", "key2": "list0 item 0 key2 value", "key3": "list0 item 0 key3 value", "list1": [ { "key4": "list0 item 0 list1 item 0 key4 value", "list2": [ "list0 item 0 list1 item 0 list2 item 0 value", "list0 item 0 list1 item 0 list2 item 1 value", "list0 item 0 list1 item 0 list2 item 2 value" ] }, { "key4": "list0 item 0 list1 item 1 key4 value", "list2": [ "list0 item 0 list1 item 1 list2 item 0 value", "list0 item 0 list1 item 1 list2 item 1 value", "list0 item 0 list1 item 1 list2 item 2 value" ] } ], "list3": [ { "key5": "list 0 item 0 list3 item 0 key5 value", "key6": "list 0 item 0 list3 item 0 key6 value", "key7": "list 0 item 0 list3 item 0 key7 value" }, { "key5": "list 0 item 0 list3 item 1 key5 value", "key6": "list 0 item 0 list3 item 1 key6 value", "key7": "list 0 item 0 list3 item 1 key7 value" } ], "key8": "list0 item 0 key8 value", "key9": "list0 item 0 key9 value" } ]
I want to loop through it and produce this:
{ "list0": [ {"key1": "list0 item 0 key1 value", "parent_list": "list0", "parent_list_item": 0, "list_item": 0, "obj_id": "12345"}, {"key2": "list0 item 0 key2 value", "parent_list": "list0", "parent_list_item": 0, "list_item": 0, "obj_id": "12345"}, {"key3": "list0 item 0 key3 value", "parent_list": "list0", "parent_list_item": 0, "list_item": 0, "obj_id": "12345"}, {"key8": "list0 item 0 key8 value", "parent_list": "list0", "parent_list_item": 0, "list_item": 0, "obj_id": "12345"}, {"key9": "list0 item 0 key9 value", "parent_list": "list0", "parent_list_item": 0, "list_item": 0, "obj_id": "12345"} ] , "list1": [ {"key4": "list0 item 0 list1 item 0 key4 value", "parent_list": "list0", "parent_list_item": 0, "list_item": 0, "obj_id": "12345"}, {"key4": "list0 item 0 list1 item 1 key4 value", "parent_list": "list0", "parent_list_item": 0, "list_item": 1, "obj_id": "12345"} ] , "list2": [ {"list2": "list0 item 0 list1 item 0 list2 item 0 value", "parent_list": "list1", "parent_list_item": 0, "list_item": 0, "obj_id": "12345"}, {"list2": "list0 item 0 list1 item 0 list2 item 1 value", "parent_list": "list1", "parent_list_item": 0, "list_item": 1, "obj_id": "12345"}, {"list2": "list0 item 0 list1 item 0 list2 item 2 value", "parent_list": "list1", "parent_list_item": 0, "list_item": 2, "obj_id": "12345"}, {"list2": "list0 item 0 list1 item 1 list2 item 0 value", "parent_list": "list1", "parent_list_item": 1, "list_item": 0, "obj_id": "12345"}, {"list2": "list0 item 0 list1 item 1 list2 item 1 value", "parent_list": "list1", "parent_list_item": 1, "list_item": 1, "obj_id": "12345"}, {"list2": "list0 item 0 list1 item 1 list2 item 2 value", "parent_list": "list1", "parent_list_item": 1, "list_item": 2, "obj_id": "12345"} ] , "list3": [ {"key5": "list 0 item 0 list3 item 0 key5 value", "parent_list": "list0", "parent_list_item": 0, "list_item": 0, "obj_id": "12345"}, {"key6": "list 0 item 0 list3 item 0 key6 value", "parent_list": "list0", "parent_list_item": 0, "list_item": 0, "obj_id": "12345"}, {"key7": "list 0 item 0 list3 item 0 key7 value", "parent_list": "list0", "parent_list_item": 0, "list_item": 0, "obj_id": "12345"}, {"key5": "list 0 item 0 list3 item 1 key5 value", "parent_list": "list0", "parent_list_item": 0, "list_item": 1, "obj_id": "12345"}, {"key6": "list 0 item 0 list3 item 1 key6 value", "parent_list": "list0", "parent_list_item": 0, "list_item": 1, "obj_id": "12345"}, {"key7": "list 0 item 0 list3 item 1 key7 value", "parent_list": "list0", "parent_list_item": 0, "list_item": 1, "obj_id": "12345"} ] }
Every time I try and summarise what it should do, I get stuck. So hopefully the example above can show what I’m trying to do!
Tried this for a couple weeks, googling, chatgpt, youtube. But just can’t get the recursion to work.
russellhq is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.