2010-09-07 39 views

Trả lời

2

Các BSON site được chỉ vào this

Nếu bạn muốn sử dụng nó từ MongoDB, hãy nhìn vào this example

+2

Guess tôi có thể lấy một phần mã hóa từ Mông Cổ và làm cho nó một thư viện bên ngoài. Đã hy vọng từ một cái gì đó nhiều hơn "trưởng thành", cảm ơn cho tip. –

+2

Thành thật mà nói, ví dụ mongoDB hơi chậm phát triển! tại sao nó không thể dễ dàng như chuyển đổi json? – nightograph

+3

Câu trả lời có liên kết bị hỏng – seinecle

1

Để có được mô hình của chúng tôi trong MongoDB chúng tôi sử dụng google gson để chuyển đổi mô hình của chúng tôi vào JSON đầu tiên và sau đó chúng tôi đã sử dụng JSON util parse method from MongoDB để phân tích chuỗi JSON được tạo của chúng tôi thành DBObject mà bạn có thể đặt trong MongoDB của mình. Tôi không biết về hiệu suất thành thật.

+0

Vấn đề với cách tiếp cận này là bạn sẽ mất một số loại dữ liệu (chẳng hạn như Ngày). – Enrichman

1

Ngoài ra còn có dự án BSON4Jackson khá mới, cho phép một người sử dụng Jackson để xử lý dữ liệu BSON. Điều này có nghĩa là ràng buộc dữ liệu đầy đủ (đến/từ POJO), mô hình cây, thậm chí cả việc đọc/ghi trực tuyến (gia tăng) đến mức độ nó có thể được thực hiện với định dạng BSON.

+0

Tôi ghét Jackson. API của nó chỉ hét lên "overcomplication". Thư viện của Crockford là tốt nhất và nhỏ nhất. –

+4

Bạn được hưởng ý kiến ​​không quan niệm của bạn. Libre đồ chơi như triển khai tham chiếu của org.json có thể phù hợp với bạn. – StaxMan

2

Ngoài ra còn có ebson. Tôi đã không thử nó ...

6

Bạn có thể sử dụng trình điều khiển MongoDB cho Java để lưu trữ một đối tượng BSON, sau đó chuyển đổi nó thành một String mà sau đó bạn có thể bọc với JSONObject.

Ví dụ, đây là cách tôi sẽ tạo một hồ sơ hợp lệ:

BasicDBObject obj = new BasicDBObject(); 
obj.put("name", "Matt"); 
obj.put("date", new Date()); 

Sau đó, để có được một đại diện String của đối tượng, chỉ cần gọi:

String bsonString = obj.toString(); 

Wrap nó với một JSONObject và nhận thuộc tính ngày tháng, sẽ trả về thuộc tính ngày theo định dạng tuân thủ BSON.

JSONObject newObject = new JSONObject(bsonString); 
System.out.println(newObject.get("date")); 

Các kết quả đầu ra là một cái gì đó như:

{"$date":"2012-08-10T05:22:53.872Z"}