Empty arrays become empty hashes; mongo shell and mongoexport handle this correctly:
% mongo
MongoDB shell version: 1.6.0
connecting to: test
> db.foo.insert(
)
> db.foo.find()
% mongoexport -d test -c foo
connected to: 127.0.0.1
{ "_id" :
, "x" : 1, "y" : [] }
exported 1 records
% mongodump -d test -c foo
connected to: 127.0.0.1
DATABASE: test to dump/test
test.foo to dump/test/foo.bson
1 objects
% bsondump dump/test/foo.bson
connected to: 127.0.0.1
{ _id: ObjectId('4c63248429573d0a580e1bf0'), x: 1.0, y: {} }
Wed Aug 11 15:31:14 1 objects found