Java 如何将json文本文件解析为BasicDBobject
我想在mongodb中将这个json解析为CollectionAttributeJava 如何将json文本文件解析为BasicDBobject,java,json,mongodb,junit,Java,Json,Mongodb,Junit,我想在mongodb中将这个json解析为CollectionAttribute { "properties":[{ "attributeId":"123", "value":"345" }, { "attributeId":"2345", "value":"567" }] } 但是我有一个错误。你能帮我吗我是jav
{
"properties":[{
"attributeId":"123",
"value":"345"
},
{
"attributeId":"2345",
"value":"567"
}]
}
但是我有一个错误。你能帮我吗我是java初学者,如果有任何帮助,我们将不胜感激。你可以使用Google的
Gson
库解析文件中的JSON,如下所示。解析后的对象可以映射到java.util.Map
,从中可以构建BasicDBObject
BasicDBObject DBObject = new BasicDBObject();
DBObject.parse(GetCatalogCollectionResponse.json);
BufferedReader=newbufferedreader(newfilereader(“test_file.json”);
Gson Gson=新的Gson();
Map Map=gson.fromJson(reader,Map.class);
系统输出打印项次(map);
//{properties=[{attributeId=123,value=345},{attributeId=2345,value=567}]}
BasicDBObject obj=新的BasicDBObject(地图);
System.out.println(obj.toJson());
//{“属性”:[{“属性ID”:“123”,“值”:“345”},{“属性ID”:“2345”,“值”:“567”}]}
我终于找到了问题的答案
BufferedReader reader = new BufferedReader(new FileReader("test_file.json"));
Gson gson = new Gson();
Map<String, Object> map = gson.fromJson(reader, Map.class);
System.out.println(map);
// {properties=[{attributeId=123, value=345}, {attributeId=2345, value=567}]}
BasicDBObject obj = new BasicDBObject(map);
System.out.println(obj.toJson());
// {"properties": [{"attributeId": "123", "value": "345"}, {"attributeId": "2345", "value": "567"}]}
在这里,我们可以像下面这样以字符串格式传递json文件
public class BasicDBObjectInput {
public static String getInput(String resourceName) throws IOException {
ClassLoader classLoader = BasicDBObjectInput.class.getClassLoader();
File file = new File(classLoader.getResource(resourceName).getFile());
String json = FileUtils.readFileToString(file, Charset.defaultCharset());
return json;
}
}
希望它能帮助一些人。方法
DBObject.parse
用于解析JSON字符串。您好,谢谢。JSON文件存储在ecllipse中的src/test/resources下,我在src/java/test文件夹中尝试了这一行。BufferedReader reader=new BufferedReader(new FileReader(“src/test/resources/test\u file.JSON”))。它显示FileNotFoundException异常。我如何通过此测试\u file.json..请更正我是java初学者我在谷歌上搜索了这个搜索字符串:“如何在java中访问resources文件夹中的文件”,并找到了很多答案。我相信你会发现一些有用的东西满足你的需要。另外,请参阅这篇有用的帖子:。谢谢。我找到了一个关于如何访问资源文件夹中文件的答案。
public class BasicDBObjectInput {
public static String getInput(String resourceName) throws IOException {
ClassLoader classLoader = BasicDBObjectInput.class.getClassLoader();
File file = new File(classLoader.getResource(resourceName).getFile());
String json = FileUtils.readFileToString(file, Charset.defaultCharset());
return json;
}
}
String json = `BasicDBObjectInput.getInput("GetCatalogCollectionAttributeResponse.json"); BasicDBObject collectionAttributes = BasicDBObject.parse(json);`