ToJSON is automatically called recursively

Signed-off-by: Shea Levy <shea@shealevy.com>