JNIEXPORT jstring JNICALL Java_io_realm_internal_TableView_nativeToJson(
    JNIEnv *env, jobject, jlong nativeViewPtr)
{
    TV(nativeViewPtr)->sync_if_needed();
    TableView* tv = TV(nativeViewPtr);
    if (!VIEW_VALID(env, nativeViewPtr))
        return NULL;


    // Write table to string in JSON format
    try {
        std::stringstream ss;
        ss.sync_with_stdio(false); // for performance
        tv->to_json(ss);
        const std::string str = ss.str();
        return env->NewStringUTF(str.c_str());
    } CATCH_STD()
    return NULL;
}