ParseObject getString()为Pointer列返回null

时间:2016-02-22 09:19:01

标签: android parse-platform

我有类似的东西

    ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("MyTable");
    query.include("tag");
    query.findInBackground(new FindCallback<ParseObject>() {
        public void done(List<ParseObject> objectList, ParseException e) {
            if (e == null) {
                for(ParseObject objects : objectList) {
                    Log.d(TAG, "parse object name : " + objects.getString("name"));
                    Log.d(TAG, "tag name : " + objects.getString("tag"));
                }
            }
        }
    }
每行

,我有String namePointer<Tag>等列。

enter image description here

在LogCat中,它会正确打印出名称,但会为每个标记打印出null

parse object name : Events
tag name : null

我实际上并不需要获取指针,但我只需要以String格式获取标记(我无法修改表格以使列现在成为String)。

如何才能将Pointer作为字符串格式?

3 个答案:

答案 0 :(得分:1)

使用此命令从指针获取值。

ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("MyTable");
query.include("tag");
query.findInBackground(new FindCallback<ParseObject>() {
    public void done(List<ParseObject> objectList, ParseException e) {
        if (e == null) {
            for(ParseObject objects : objectList) {
                Log.d(TAG, "parse object name : " + objects.getString("name"));


                ParseObject tagObject=objects.getParseObject("tag");
                //Now access your tag class column
                Log.d(TAG, "tag name : " + tagObject.getString("columnName"));

            }
        }
    }
}

答案 1 :(得分:1)

尝试log

的此行代码
 Log.e(TAG, "tag name : " + objects.getParseObject("tag").getString("col_name");

这种方式来获取parse pointer object

答案 2 :(得分:-1)

要读取指针的值,请将其作为解析对象读取。

 Log.d(TAG, "tag name : " + objects.getParseObject("tag"));

注意:执行查询时,如果要在返回查询后能够从中提取数据,则必须包含指针字段。结果:

query.include("pointer_filed");