json_encodable and to_json