Saya sedang menulis file JSON yang akan dibaca oleh program Java. Fragmennya adalah sebagai berikut ...
{
"testCases" :
{
"case.1" :
{
"scenario" : "this the case 1.",
"result" : "this is a very long line which is not easily readble.
so i would like to write it in multiple lines.
but, i do NOT require any new lines in the output.
I need to split the string value in this input file only.
such that I don't require to slide the horizontal scroll again and again while verifying the correctness of the statements.
the prev line, I have shown, without splitting just to give a feel of my problem"
}
}
}
Jawaban:
Simak spesifikasinya ! Produksi karakter tata bahasa JSON dapat mengambil nilai berikut:
"
-atau- -or\
-control-character\"
\\
\/
\b
\f
\n
\r
\t
\u
empat digit hexBaris baru adalah "karakter kontrol" jadi, tidak, Anda mungkin tidak memiliki baris baru literal dalam string Anda. Namun Anda dapat menyandikannya menggunakan kombinasi apa pun
\n
dan yang\r
Anda butuhkan.Alat JSONLint mengonfirmasi bahwa JSON Anda tidak valid.
Pembaruan: Dan jika Anda ingin menulis baris baru di dalam sintaks JSON Anda tanpa benar-benar memasukkan baris baru dalam data, maka Anda bahkan kurang beruntung. Meskipun JSON dimaksudkan untuk menjadi ramah manusia pada tingkat tertentu, itu masih berupa data dan Anda mencoba menerapkan pemformatan sewenang-wenang ke data itu. Itu sama sekali bukan tentang JSON.
sumber
Saya tidak yakin dengan persyaratan pasti Anda tetapi satu solusi yang mungkin untuk meningkatkan 'keterbacaan' adalah menyimpannya sebagai array.
Bergabung kembali jika diperlukan dengan
sumber
Bukan solusi yang cukup bagus, tetapi Anda dapat mencoba hjson alat . Tautan . Ini memungkinkan Anda untuk menulis teks multi-baris di editor dan kemudian mengubahnya menjadi format JSON yang valid. Catatan: ini menambahkan karakter '\ n' untuk baris baru, tetapi Anda dapat dengan mudah menghapusnya di editor teks manapun dengan fungsi "Ganti semua ..".
PS Harus ada komentar untuk pertanyaan itu, tetapi tidak memiliki cukup repo, maaf.
sumber
Seperti yang saya mengerti, pertanyaannya bukan tentang bagaimana melewatkan string dengan simbol kontrol menggunakan
json
tetapi bagaimana menyimpan dan mengembalikan json dalam file di mana Anda dapat membagi string dengan simbol kontrol editor.Jika Anda ingin menyimpan string multiline dalam sebuah file maka file Anda tidak akan menyimpan
json
objek yang valid . Tetapi jika Anda menggunakanjson
file Anda hanya dalam program Anda, maka Anda dapat menyimpan data sesuai keinginan dan menghapus semua baris baru dari file secara manual setiap kali Anda memuatnya ke program Anda dan kemudian diteruskan ke json parser.Atau, sebagai alternatif, mana yang lebih baik, Anda dapat memiliki
json
file sumber data di mana Anda mengedit gambar sesuai keinginan dan kemudian menghapus semua baris baru dengan beberapa utilitas kejson
file valid yang akan digunakan program Anda.sumber
Saya percaya itu tergantung pada interpreter json apa yang Anda gunakan ... dalam javascript biasa Anda dapat menggunakan terminator baris
sumber
a\ c
=>a c
.