Java 打印对象内容

Java 打印对象内容,java,android,json,parse-platform,Java,Android,Json,Parse Platform,也许这是一个愚蠢的问题,但是,我只是想打印一个ParseObject(解析平台)的所有内容(而不仅仅是一个字段)。但是我没有发现任何关于这个的东西,无论是API、论坛还是这里 toString方法在API中没有被重写,也没有类似的“toJsonString”或“toJson”或“getValues” 有什么建议吗 干杯。这就是你要找的吗 myParseObject.getJSONObject(myKey).toString(); 从ParseObject中,必须分别获取每个字段。根据数据类型

也许这是一个愚蠢的问题,但是,我只是想打印一个ParseObject(解析平台)的所有内容(而不仅仅是一个字段)。但是我没有发现任何关于这个的东西,无论是API、论坛还是这里

toString方法在API中没有被重写,也没有类似的“toJsonString”或“toJson”或“getValues”

有什么建议吗


干杯。

这就是你要找的吗

myParseObject.getJSONObject(myKey).toString();


ParseObject
中,必须分别获取每个字段。根据数据类型,使用类似于
myParseObject.getString(“myStringFieldName”)
myParseObject.getInt(“myIntFieldName”)
的内容。然后,一旦你有了这个值,你可以用它做任何你想做的事情。

不幸的是,'Parse'没有提供任何方法来做这件事。但您可以使用方法来实现它。这是一个快速的样本,可以为您提供指导

    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;
}
私有JSONObject parseObjectToJson(ParseObject ParseObject)抛出ParseException,JSONException{
JSONObject JSONObject=新的JSONObject();
parseObject.fetchIfNeeded();
Set keys=parseObject.keySet();
用于(字符串键:键){
objectobjectvalue=parseObject.get(键);
if(ParseObject的objectValue实例){
put(key,parseObjectToJson(parseObject.getParseObject(key));
//记住指向它自己的“指针”,它将从下面获得
}else if(ParseRelation的objectValue实例){
//处理关系
}否则{
put(key,objectValue.toString());
}
}
返回jsonObject;
}
您可以在
Parse
中扩展它来关心其他可能的类型,所有这些都在您的手中

例如:

console.log( feature.toJSON() );

很抱歉,我编辑了答案,它是所有字段,获取字符串json表示并打印它。很抱歉,我编辑了答案,它是所有字段,获取字符串json表示并打印它。@maroch我认为
toString
方法确实返回了一个包含所有字段的字符串。你能详细解释一下吗?不,它只打印对象id,正如我在“toString方法在API中没有被重写”之前试图澄清的那样。谢谢@在使用
toString
之前,您正在执行
getJSONObject()
调用,对吗?我不怀疑你,但是如果你可以编辑你的问题,包括一些示例代码(例如a),这将非常有帮助。我的意思是打印所有json对象,根节点,而不仅仅是它的一部分。谢谢你的权利。没有打印的方法,奇怪但真实。我会将你的回答设置为有效。谢谢