也许这是个愚蠢的问题,但是,我只是想打印parseobject(parse platform)的所有内容(而不仅仅是一个字段)。但是我没有发现任何关于这个的东西,无论是api,论坛还是这里。
tostring方法它在api中不被重写,也没有类似的“tojsonstring”、“tojson”或“getvalues”。
有什么建议吗?
干杯。

最佳答案

不幸的是,“parse”没有提供这样的方法。但您可以使用keySet()方法来实现它。这是给你方向的快速样本。

    try {
        TestParse parseObject = ParseObject.createWithoutData(TestParse.class, "tjkbdde0B1");
        JSONObject jsonObject = parseObjectToJson(parseObject);
        Log.d("TAG", jsonObject.toString(4));
    } catch (ParseException | JSONException e) {
        Log.e("TAG", e.getMessage());
    }

方法转换为JSON对象
private JSONObject parseObjectToJson(ParseObject parseObject) throws ParseException, JSONException {
    JSONObject jsonObject = new JSONObject();
    parseObject.fetchIfNeeded();
    Set<String> keys = parseObject.keySet();
    for (String key : keys) {
        Object objectValue = parseObject.get(key);
        if (objectValue instanceof ParseObject) {
            jsonObject.put(key, parseObjectToJson(parseObject.getParseObject(key)));
            // keep in mind about "pointer" to it self, will gain stackoverlow
        } else if (objectValue instanceof ParseRelation) {
            // handle relation
        } else {
            jsonObject.put(key, objectValue.toString());
        }
    }
    return jsonObject;
}

您可以扩展它来关心Parse上的其他可能类型,所有这些都在您的手中。

关于java - 打印ParseObject内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27447166/

10-10 02:48