[WIP] use .to_json for v2 [skip ci]