質問: 2} //とても読みやすい出力:) item:[object object] //中身がわからない
回答: ここでの解決策のどれも私のために働きませんでした。 json.stringifyは多くの人が言っているように見えますが、それは関数を切り捨てて、私がそれをテストしたときに試みたいくつかのオブジェクトと配列にとってかなり壊れているようです。私は少なくともchromeで動作する私自身の解決策を作りました。ここに投稿して、googleでこれを検索した人が見つけられるようにします。//make an object a string that evaluates to an equivalent object // note that eval() seems tricky and sometimes you have to do // something like eval("a = " + yourstring), then use the value // of a. // // also this leaves extra commas after everything, but javascript // ignores them. function converttotext(obj) { //create an array that will later be joined into a string. var string = []; //is object // both arrays and objects seem to return "object" // when typeof(obj) is applied to them. so instead // i am checking to see if they have the property // join, which normal objects don't have but // arrays do. if (typeof(obj) == "object" && (obj.join == undefined)) { string.push("{"); for (prop in obj) { string.push(prop, ": ", converttotext(obj[prop]), ","); }; string.push("}"); //is array } else if (typeof(obj) == "object" && !(obj.join == undefined)) { string.push("[") for(prop in obj) { string.push(converttotext(obj[prop]), ","); } string.push("]") //is function } else if (typeof(obj) == "function") { string.push(obj.tostring()) //all other values can be done with json.stringify } else { string.push(json.stringify(obj)) } return string.join("") } 編集:私はこのコードを改善することができることを知っているが、それをすることに戸惑ったことは決してない。ユーザーandreyが改善を提案しました ここ コメント付き: これは 'null'と 'undefined'を扱うことができ、また余分なコンマを追加しない、少し変更されたコードです。 私はまったく検証していないので、あなた自身の責任でそれを使ってください。コメントとして追加の改善を提案してください。