Saya memiliki aplikasi AngularJS, yang mengumpulkan data dari input, mengubah model menjadi string menggunakan JSON.stringify()
dan memungkinkan pengguna mengedit model ini sedemikian rupa sehingga kolom input diperbarui jika <textarea>
elemen diperbarui dan sebaliknya. Semacam pengikatan dua arah :)
Masalahnya adalah bahwa String itu sendiri terlihat jelek dan saya ingin memformatnya sehingga terlihat seperti ini:
Dan tidak seperti yang terlihat sekarang:
Ada ide bagaimana ini bisa dilakukan? Jika Anda memerlukan info tambahan - jangan ragu bertanya. Setiap jawaban sangat dihargai dan segera dijawab.
Terima kasih.
PS Saya kira ini harus menjadi semacam arahan atau filter khusus. Data itu sendiri TIDAK HARUS diubah, hanya keluarannya.
javascript
json
string
angularjs
formatting
amenoire
sumber
sumber
$watch
(berdasarkan jawaban atas pertanyaan sebelumnya) di atas model textarea, dapatkah Anda melakukan aconsole.log()
dan melihat nilai apa yang Anda dapatkan dalam string untuk tombol enter - saya pikir itu "/ n"Jawaban:
Anda dapat menggunakan parameter opsional
JSON.stringify()
Sebagai contoh:
akan memberi Anda hasil sebagai berikut:
sumber
$$hashKey
sudut properti untuk pelacakan model internalJSON.stringify(object, null, 2)
mana 2 adalah jumlah karakter spasi.Angular memiliki built-in
filter
untuk ditampilkanJSON
Perhatikan penggunaan
pre
-tag untuk menghemat whitespace dan linebreakDemo:
Ada juga
angular.toJson
metode, tapi saya belum bermain-main dengan itu ( Docs )sumber
<pre>
tag Anda tidak bolehwhite-space
disetel kenormal
atauno-wrap
. Jika tidak, JSON Anda tidak akan terindentasi seperti yang Anda inginkan.Jika Anda ingin merender JSON sebagai HTML dan dapat diciutkan / dibuka, Anda dapat menggunakan arahan yang baru saja saya buat untuk merendernya dengan baik:
https://github.com/mohsen1/json-formatter/
sumber
Selain filter sudut yang
json
sudah disebutkan, ada juga fungsi suduttoJson()
.Parameter kedua dari fungsi ini memungkinkan Anda mengaktifkan pencetakan cantik dan mengatur jumlah spasi yang akan digunakan.
sumber
Saya kira Anda ingin menggunakan untuk mengedit teks json. Maka Anda bisa menggunakan cara ivarni:
dan tambahkan atribut adition untuk membuatnyaSemoga ini bisa membantu Anda.
sumber
Jika Anda ingin memformat JSON dan juga melakukan beberapa penyorotan sintaks, Anda dapat menggunakan
ng-prettyjson
direktif. Lihat paket npm.Berikut cara menggunakannya:
<pre pretty-json="jsonObject"></pre>
sumber