java - 如何将解析的 JSON 保存到 mongodb 中?
问题描述
我正在尝试将解析的 JSON 插入 MongoDB。我正在解析的类是:
public class News {
private int totalResults;
public List<Article> articles;
//getters and setters
文章:
public class Article {
private String author;
private String title;
private String description;
private String url;
//getters and setters
我解析的 JSON 是这样的:
"totalResults": 5,
"articles": [
{
"author": "BBC News",
"title": "Russia swaps prisoners with Ukraine - prosecutor",
"description": "Oleg Sentsov was convicted in 2015 for plotting and carrying out attacks in a controversial case.",
"url": "http://www.bbc.co.uk/news/world-europe-49518616"
},
etc etc etc, for 5 articles.
我必须在解析后立即保存,这是解析代码。
@Service
public class ParseService {
RestTemplate restTemplate = new RestTemplate();
public News parseFive() {
final int COUNTER = 5;
News news = restTemplate.getForObject("https://newsapi.org/v2/top-headlines?sources=bbc-news&apiKey=19acc3a371d145ecb37a093f9985ea21", News.class);
news.setArticles(news.articles.stream().limit(COUNTER).collect(Collectors.toList()));
news.setTotalResults(COUNTER);
return news;
}
MongoDB 连接和保存代码是这样的:
MongoClientURI connectionString = new
MongoClientURI("mongodb://localhost:27017");
MongoClient mongoClient = new MongoClient(connectionString)
MongoDatabase database = mongoClient.getDatabase("test");
MongoCollection<Document> collection = database.getCollection("newsCollection");
collection.insertOne(new Document("" ,news));
错误:
Fri Aug 30 11:28:13 CEST 2019 出现意外错误(类型=内部服务器错误,状态=500)。找不到类 com.kdmforce.test.models.News 的编解码器。
如果我只是尝试在 insertOne 方法中传递消息,那将是一个错误。如何将完整的新闻解析 json 插入 mongodb?注意:我已经可以与我的 mongodb 数据库建立连接。我只需要插入的代码。感谢大家的努力!
解决方案
推荐阅读
- r - 我想过滤物种名称“versicolor”的物种列的数据,我还想只选择“sepel_length”和“sepel_width”列
- oracle - 甲骨文顶点。加载没有 PK 的 CSV
- javascript - 根据国家/地区名称汇总对象中的数字(反应,javascript)
- c# - 在 ASP.NET 核心 ef 中更新值 (PUT) 时出现问题
- php - 使用 php laravel 填写 PDF 表单
- wix - MSI 显示违规进程未加载的 DLL 的文件正在使用对话框
- themes - 如何在 Shopify 的快速查看页面中添加色板?
- typescript - 如何构建有或没有 Promise 的函数
- jasper-reports - Jasper 报告基于列表的分组
- windows - 桌面应用程序的 Github 操作不适用于错误 DesktopBridge not found