json emitter with id hydration