也许这是一个愚蠢的问题但是,我只想打印ParseObject(Parse平台)的所有内容(不仅仅是一个字段)。但我没有找到任何相关信息,包括API,论坛或此处。
toString方法它没有在API内部重写,并且没有" toJsonString"或" toJson"或者" getValues"不是那样的。
有什么建议吗?
干杯。
答案 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)
答案 2 :(得分:0)
从ParseObject
开始,您必须单独获取每个字段。根据数据类型,使用myParseObject.getString("myStringFieldName")
或myParseObject.getInt("myIntFieldName")
之类的内容。然后,一旦你拥有了这个价值,你就可以随心所欲地做任何事情。
答案 3 :(得分:0)
https://parseplatform.org/Parse-SDK-JS/api/master/Parse.Object.html#toJSON
示例:
console.log( feature.toJSON() );