java - 如何将 java.util.ArrayList 类型化为 com.mongodb.basicdbobject
问题描述
public void process(FeedExchange exchange) {
List<BasicDBObject> defaultNavigation = (List<BasicDBObject>) exchange.getInput();
Set<String> navigationIdList = exchange.getProperty("navigationIdList", HashSet.class);
if (navigationIdList == null) {
navigationIdList = new HashSet<>();
}
for (BasicDBObject basicDBObject : defaultNavigation) {
String key = ((BasicDBObject)basicDBObject.get("_id")).getString("identifier");
navigationIdList.add(key);
}
exchange.setProperty(FeedExchangeConstants.DEFAULT_NAVIGATION_LIST, defaultNavigation);
if (!navigationIdList.isEmpty()) {
exchange.setProperty("navigationIdList", navigationIdList);
exchange.setProperty("navigationIdString", "\"" + StringUtils.join(navigationIdList, "\",\"") + "\"");
}
}
为了为上述代码编写 junit 测试用例,我需要将输入传递给我的测试用例的默认导航
public class GetDefaultNavigationTest {
@Test
public void testDefaultNavigation() throws Exception {
String resourceName = "GetDefaultNavigationResponse.json";
ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource(resourceName).getFile());
String absolutePath = file.getAbsolutePath();
System.out.println(absolutePath);
BufferedReader reader = new BufferedReader(new FileReader(file));
Gson gson = new Gson();
Map<String, Object> map = gson.fromJson(reader, Map.class);
System.out.println(map);
BasicDBObject defaultNavigation = new BasicDBObject(map);
System.out.println(defaultNavigation.toJson());
FeedExchange exchange = new FeedExchange();
exchange.setInput(Collections.singletonList(defaultNavigation));
exchange.setProperty("defaultNavigationList", defaultNavigation);
exchange.setProperty("defaultNavigation", Collections.singletonList(defaultNavigation));
}
我的 Json 文件是 GetDefaultNavigationResponse.json { "_id" : [{ "collection_id" : "1234", "project_id" : "5527", "version_id" : "default", "identifier" : "53573" }] }
我有以下错误 java.util.arraylist 无法转换为 com.mongodb.basicdbobject。如何将数组列表转换为 basicdbobject.im 初学者到 java 和 mongodb。任何帮助将不胜感激
解决方案
推荐阅读
- java - 如何在邮递员的同一请求中发送 multipart/form-data 和嵌套 json?
- typescript - 定义 GenericOf
提取另一个泛型 T 使用的泛型 M - .net - 我的 .NET 核心中间件管道经过了什么
- audio - 是否存在不包含元数据的音频文件格式,因此可以在任何位置拆分单个块并保存到文件中?
- html - Div 小于 Div 的内容
- python - 输出并保留没有聚合函数的 groupby 索引结构
- flutter - VS Code 不显示图标预览(Dart/Flutter)
- typescript - 使用 Pick<> 从 MongoDB 访问嵌套对象
- python - 升级 Ubuntu:python3 安装已损坏
- android - 从导航后台排除某些目的地?