Prototype.js 1.6.x で試してみてください
Object.toJSON([{"nodeType":1}])
それは譲るべき
'[{"nodeType":1}]'
出力文字列として。ただし、「[]」が生成されます。nodeType==1 を持つオブジェクトをスキップするようです。それらがDOM要素であることと関係があります。正しい出力を取得するための回避策はありますか?
jsFiddle: http://jsfiddle.net/xPVnr/
編集:
ソースを見ると、 toJSON は、 isElement(obj) が true の場合に返されるだけで、 obj.nodeType == 1 の場合に true になります:(