如何将jsonNode转换为BasicDbList

时间:2015-04-22 09:27:47

标签: java json mongodb

我有一个JsonNode对象,我需要将其转换为mongoDb的BasicDBList。我怎么做?我需要将JsonNode作为我的进一步迭代的列表。这是我的JsonNode

JsonNode rnode={"question":"q0009_d2","answers[{"answers":"\"Good\""}],"ranking":"false","other":""} 

这是我转换它的尝试:

BasicDBList newlist=new BasicDBList();
newlist.add(rnode);

但是newlist是空的:

o/p: newlist is `[ [ [ ] , [ [ [ ]]] , [ ] , [ ]]]`

如何进行转换?

1 个答案:

答案 0 :(得分:0)

我在JsonNode上的工作量不多,但是遵循简单的java代码会对你有帮助。

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;

和java代码如下

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

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

    collection.insert(dbObject);

    DBCursor cursorDoc = collection.find();
} catch (UnknownHostException e) {
    e.printStackTrace();
} catch (MongoException e) {
    e.printStackTrace();
}

在上面的代码com.mongodb.util.JSON;中,将字符串解析为JSON并转换为DBObject,然后将其插入集合