也许这是一个愚蠢的问题,但是,我只是尝试打印 ParseObject(解析平台)的所有内容(而不仅仅是一个字段)。但我没有找到任何相关信息,无论是 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/