首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将json写入本地文件系统

将json写入本地文件系统
EN

Stack Overflow用户
提问于 2014-02-14 11:26:06
回答 2查看 641关注 0票数 0

在Mongodb中,我有一个包含json文档的测试集合。我能够检索json并将其记录到我的IDE控制台。现在,我想将这个json存储到本地文件系统上的一个文件(即test.json)中。我试图创建这样的代码,但是它不起作用。第4行出现了一些问题,因为文件无法写入游标。

如何将对象从mongodb获取到文件系统,是否有任何示例代码可与我共享。

代码语言:javascript
复制
DBCursor cursor = collection.find();

FileWriter file = new FileWriter("D:\\test1.json");
while( cursor.hasNext() ) {
    file.write(cursor.toJSONString(); // this is line 4 
}
file.close();

System.out.println("JSON created successfully");
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-14 12:31:27

试着像这样

代码语言:javascript
复制
import java.io.File;
import java.io.FileWriter;
import java.net.UnknownHostException;

import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoException;
import com.mongodb.util.JSON;



public class App {
    public static void main(String[] args) throws Exception{

        try {

            Mongo mongo = new Mongo("localhost", 27017);
            DB db = mongo.getDB("test");
            DBCollection collection = db.getCollection("dummyColl");

            // convert JSON to DBObject directly
            DBObject dbObject = (DBObject) JSON
                    .parse("{'name':'mkyong', 'age':30}");

            collection.insert(dbObject);

            DBCursor cursorDoc = collection.find();
            while (cursorDoc.hasNext()) {
                System.out.println(cursorDoc.next());
            }

            String st=JSON.serialize(cursorDoc);
            File file=new File("test.json");
            FileWriter fileWriter=new FileWriter(file);
            fileWriter.write(st);
            fileWriter.close();

            System.out.println("Done");

        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (MongoException e) {
            e.printStackTrace();
        }
    }
}
票数 0
EN

Stack Overflow用户

发布于 2014-02-14 12:09:45

这是缺少的(在new之后和write之前):

代码语言:javascript
复制
file.open(); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21778111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档