也许这是个愚蠢的问题,但是,我只是想打印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/