moved all json macros to the platform (breaks compatibility with earlier platforms)