如何将get_all()的游标转换为Rethinkdb的java驱动程序中的Map或list map?

时间:2014-04-29 08:54:55

标签: rethinkdb

我有问题从字符串(作为json)或Map转换get_all(array)中的值。

 RqlCursor cursor = r.db("test").table("x").get_all(arraylist)

当我尝试获取

for(RqlObject o : cursor) {
        if (o instanceof java.util.List<?>) {
            List<Object> list = o.getList();
          }else if (o instanceof ListIterator<?>) {
            List<Object> list = o.getList();
            array.add(list);
          }else {
              java.util.Map<String, Object> map = o.getMap();
            }
}

Map之外的其他任何实例都没有捕获上述条件并生成错误java.util.ArrayList cannot be cast to java.util.Map 如何在地图或列表映射数组中获取此Object,甚至以json格式化字符串。

1 个答案:

答案 0 :(得分:1)

我从另一个来源获得了答案。首先,我们必须使用.as方法检查类型。 这是完整的代码

for(RqlObject c : cursor) {
    Object o = c.as();     
    if (o instanceof java.util.List<?>) {
         List<Object> list = o.getList();
     }else if (o instanceof ListIterator<?>) {
         List<Object> list = o.getList();
     }else {
         java.util.Map<String, Object> map = o.getMap();
     }
}