问题
We have good support for JSON in java http://blog.locut.us/main/2009/10/14/which-is-the-best-java-json-library.html but what about BSON.
What library do you know that provides BSON support for java? It should obviously be efficient in runtime.
回答1:
The BSON site is pointing at this
If you want to use it from MongoDB, take a look at this example
回答2:
You can use the MongoDB driver for Java to store a BSON object, then convert that to a String
which you can then wrap with JSONObject.
For example, here's how I'll create a regular document:
BasicDBObject obj = new BasicDBObject();
obj.put("name", "Matt");
obj.put("date", new Date());
Then, to get a String
representation of the object, simply call:
String bsonString = obj.toString();
Wrap it with a JSONObject
and get the date attribute, which should return it in a BSON-compliant format.
JSONObject newObject = new JSONObject(bsonString);
System.out.println(newObject.get("date"));
The resulting output is something like:
{"$date":"2012-08-10T05:22:53.872Z"}
回答3:
There is also ebson. I've not tried it...
回答4:
In order to get our Model in MongoDB we used google gson to convert our model into JSON first and then we used the JSON util parse method from MongoDB to parse our generated JSON string to a DBObject which you can put in your MongoDB. I don't know about performance to be honest.
回答5:
There is also a rather new BSON4Jackson project, which allows one to use Jackson for handling BSON data. This means full data binding (to/from POJOs), tree model, even streaming (incremental) reading/writing to degree it can be done with BSON format.
来源:https://stackoverflow.com/questions/3656335/bson-library-for-java