From the current discussion, I would prefer the Arrays for the "internal" "main" format. Conceptually, we have a list of things, so using an Array would harmonize the JSON with the data. Daniel suggested to have a switch in the API to select format (1) optionally. I also think that something like this is needed if there would be such a change in the JSON (already for b/c with existing applications).
Then we have two formats again. Only a bit less different. There must be more possibilities to solve this for everyone. Is there a way we can fix the order implicitly? Or can we assure that the map is always written into Json in the correct order? Maybe use a combination of Property and index as key?