JSON.stringify çıktısını div'e güzel bir şekilde yazdırma

Bir json nesnesini JSON.stringify ile

result = JSON.stringify(message, my_json, 2)

Yukarıdaki argümandaki 2 nin sonucu güzelce yazdırması gerekiyordu. Eğer alert(result) gibi bir şey yaparsam bunu yapıyor. Ancak ben bunu bir div içine ekleyerek kullanıcıya çıktı olarak vermek istiyorum. Bunu yaptığımda sadece tek bir satır çıkıyor. (Çalıştığını sanmıyorum çünkü aralar ve boşluklar html olarak yorumlanmıyor?)

{ "data": { "x": "1", "y": "1", "url": "http://url.com" }, "event": "start", "show": 1, "id": 50 }

JSON.stringify` sonucunu bir div'e güzel bir şekilde yazdırmanın bir yolu var mı?

Çözüm

Lütfen bir <pre> etiketi kullanın

demo : http://jsfiddle.net/K83cK/

var data = {
  "data": {
    "x": "1",
    "y": "1",
    "url": "http://url.com"
  },
  "event": "start",
  "show": 1,
  "id": 50
}

document.getElementById("json").innerHTML = JSON.stringify(data, undefined, 2);
<pre id="json"></pre>
Yorumlar (10)

JSON çıktısının bir <pre> etiketi içinde olduğundan emin olun.

Yorumlar (0)

Bu gerçekten bir kullanıcı içinse, sadece metin çıktısı almaktan daha iyisi, HTML tablosu olarak çıktı almak için https://github.com/padolsey/prettyprint.js gibi bir kütüphane kullanabilirsiniz.

Yorumlar (0)