我在字符串(json)或Map中从get_all(数组)转换值时遇到问题。
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
如何在列表映射的映射或数组中,甚至在json格式的字符串中获取此对象。
我自己从另一个来源得到了Answer。首先,我们必须使用.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();
}
}