1
var obj = {'test1':"value1", "test2": "value2" }
console.log(obj);

結果

[object, Object]

IE9 で JSON.stringify を使用しないオブジェクトのコンテンツを表示することはできますか?
次のように

{'test1':"value1", "test2": "value2" }
4

3 に答える 3

6

console.dir()代わりに使用してみてくださいconsole.log()- これは他のブラウザのコンソールでも機能します。

MSDN の記事Internet Explorer 9 Developer Tools Deep Dive – Part 3: Debugging JavaScriptも参照してください。

于 2012-05-14T06:57:07.567 に答える
1

フルスケールのライブラリを使用せずに複雑なオブジェクトの内容を確認したいだけの場合は、次のコードを使用できます。

var complexObject = { 
    "first field": "first value", "second": function() {
        alert("hello");
    }, 
    "third": ["I", "am", "an", "array"]
};

var complexObjectString = "";
for (var key in complexObject) {
    complexObjectString += key + ": " + complexObject[key] + "\n";
}
alert(complexObjectString);​

ライブ テスト ケース

于 2012-05-14T06:55:49.877 に答える
0

IE9 では、JSON オブジェクトを使用するには標準モードにする必要があります。たとえば、doctype が必要です。

これは機能しません:ライブ コピー| ソース

<html>
<head>
<meta charset=utf-8 />
<title>Test Page</title>
</head>
<body>
<p>Without a doctype</p>
<script>
(function() {

  try {
    var obj = {
      foo: "bar"
    };

    var str = JSON.stringify(obj);

    display("<code>" + str + "</code>");
  }
  catch (e) {
    display("Exception: " + (e.message || e.toString()));
  }

  function display(msg) {
    var p = document.createElement('p');
    p.innerHTML = msg;
    document.body.appendChild(p);
  }
})();
</script>
</body>
</html>

JSON未定義のエラーで失敗します。

追加すると

<!doctype html>

一番上に、それは動作します:ライブコピー| ソース

于 2012-05-14T06:52:17.920 に答える