{"0":["494.146","505.616","2"],"1":["504.685","496.818","3"],"2":["499.400","503.440","1"],"3":["498.211","504.608","2"],"4":["495.308","499.463","0"],"5":["496.505","490.680","3"],"6":["498.858","492.868","2"],"7":["505.334","490.110","0"],"8":["496.857","493.231","0"],"9":["505.773","488.897","0"],"10":["504.614","492.411","1"],"11":["513.358","492.846","2"],"12":["508.307","497.187","1"],"13":["512.842","504.548","1"],"14":["504.119","504.817","1"],"15":["510.334","502.565","2"],"16":["505.632","504.527","0"],"17":["507.403","505.337","0"],"18":["508.531","507.744","0"],"19":["509.322","508.887","3"],"20":["502.126","510.670","0"],"21":["503.625","509.856","0"],"22":["499.366","511.583","0"],"23":["501.102","507.602","2"],"24":["509.805","513.852","1"],"25":["503.473","519.109","3"],"26":["502.520","509.122","4"],"27":["500.128","518.697","0"],"28":["502.275","512.740","1"],"29":["496.815","513.783","2"],"30":["490.549","514.874","1"],"31":["495.223","513.865","3"],"32":["492.194","513.550","0"],"33":["489.541","513.698","0"],"34":["492.471","509.486","1"],"35":["496.760","511.117","0"],"36":["493.857","518.666","1"],...[/code:2labvb3b]
Then we have metadata standards on both ends (in the API document) that interpret the data. This helps to reduce the number of characters being transferred between client and server, and allows us to ship huge amounts of data for very little space. We also make full use of the gzip protocol between the Apache gateway webserver and the client browsers.
The risk in doing it this way is increased ambiguity and errors associated with that. On the whole though, this strategy has worked for us.