cache as json, not Marshall