"Maybe someone shed some light or some link where I can read more?"
When you are dealing with JSON data, you can refer to json.org to read about specification requirements.
In JSON , Array is a list of orders of values ββseparated by a character,.

So JSON.stringify() simply ignores everything that cannot be represented as a simple ordered list.
So, if you ...
var simpleArray = []; simpleArray.foo = 'bar';
... you still provide an array, so it expects only numeric indices and ignores anything else.
Since JSON is language independent, JSON methods must decide which language structure is best for each JSON structure.
So JSON has the following structures ...
{}
It should be noted that although the appearance is very similar to JavaScript objects and arrays, they are not exactly the same.
Any JavaScript structures used to create JSON structures must match JSON structures. This is why non-numeric properties removed are excluded.
Until JavaScript objects to them, JSON will not tolerate them.
user1106925
source share