こんにちは。
Javascript で object の中身を出力表示させ、JSON.stringify の出力と比較してみました。Node.js 利用でコマンドラインで動かしました1。
$ ./print.js
{"0":["1","2"],"3":["4"]} // JSON.stringify(比較用)
{0:[1,2],3:[4]} // print_object()
print.js
# !/usr/bin/env node
function tostring(x, braces) {
var arr = [];
if (x instanceof Array) {
if (braces === undefined) braces = "[]";
arr.push(braces[0]);
for (var i=0; i < x.length; i++) {
if (i>0) arr.push(",");
arr.push(tostring(x[i]));
}
arr.push(braces[1]);
return arr.join("");
}
else if (x instanceof Object) {
for(var k in x){
arr.push(k + ":" + tostring(x[k]));
}
return tostring(arr, "{}")
}
else return x.toString();
}
function print_object(x) {print(tostring(x));}
function print(str) {process.stdout.write(str + '\n')};
var obj = {"0": ["1", "2"], "3": ["4"]};
print(JSON.stringify(obj));
print_object(obj);