An array like provided in your example is perfectly fine json data, as json does not only provide objects but also arrays and primitives (numbers, strings, …) too. We use arrays to represent historical data in order to avoid sending all the repeating key values for every histdata entry. You may be assured that the order inside the array is always the same, in the case of pos/youngest:
stamp t_stamp original recording stamp, UTC w/o time saving.
lat float Latitude
long float Longitude
precision int Precision in [m]
You may find this information in the API Playground “Site’s position data”
As GPS position data is also stored historically (not only the latest value/state is available but rather all records with their corresponding timestamps) it uses the same principle as every histdata0…9 channel and is not only providing the possibility to read the latest value but also values based on a requested time window, see playground “a time-window of position values”. As in the case of multiple values available for a given time window an array only needs about ½ of the data to be transmitted.