打印ParseObject内容

时间:2014-12-12 15:46:03

标签: java android json parse-platform

也许这是一个愚蠢的问题但是,我只想打印ParseObject(Parse平台)的所有内容(不仅仅是一个字段)。但我没有找到任何相关信息,包括API,论坛或此处。

toString方法它没有在API内部重写,并且没有" toJsonString"或" toJson"或者" getValues"不是那样的。

有什么建议吗?

干杯。

4 个答案:

答案 0 :(得分:4)

不幸的是,'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的其他可能类型,全部在您手中。

答案 1 :(得分:0)

这是你正在寻找的吗?

myParseObject.getJSONObject(myKey).toString();

ParseObject getJSONObject method

JSONObject toString method

答案 2 :(得分:0)

ParseObject开始,您必须单独获取每个字段。根据数据类型,使用myParseObject.getString("myStringFieldName")myParseObject.getInt("myIntFieldName")之类的内容。然后,一旦你拥有了这个价值,你就可以随心所欲地做任何事情。

答案 3 :(得分:0)