I have a nested list like this:
my_numpy_values = my_numpy_array.tolist()
>> [[1,2,3,4],
[5,6,7,8],
[9,10,11,12]]
I then set my preexisting dict values equal to the above so that I have:
my_dict
>>{'key1':[[1,2,3,4],[5,6,7,8]...], 'key2':[[1,2,3,4],[5,6,7,8]...],'key3'...}
I then simply wrapped it into a list:
json_data = [my_dict]
next:
with open('data.json', 'w') as outfile:
json.dump(json_data, outfile)
This is the point where I got the not json serializable error. However, from what I read tolist() is supposed to be supported. What should I be doing differently? Surely I do not have to write my own encoding serializer for something so simple?
Update
It's a little challenging to make a Minimal Complete Verifiable Example for this, please bear with me. I tried for minimal, and for whatever reason it made the error go away. Completeness may be harder to reproduce, many libraries and calculations are needed to get the values I'm working with. The best I can do is offer a screenshot of the error in action:
This is only a small part of the verbose, so amidst all the bells and whistles I missed the circular reference. I'm not sure if I have a circular reference problem in addition to non-json serializable problem, or if it's more of a cause and effect type of thing.
Either way, I don't under stand why my minimal [[1,2,3,4],[5,6,7,8]...] example as seen at the beginning of my post works and my real data doesn't. The only difference I can see are the values; the structure of the data looks identical. Am I missing something?

{'key1':[[1,2,3,4],[5,6,7,8]...], 'key2':[[1,2,3,4],[5,6,7,8]...],'key3'...}, are those "..."s actually present in your actual output, or did you put them into your example to indicate that the data is larger than just those values? If it's the latter, you probably don't have a circular reference problem.