add json roundtrip test