2011-11-15 6 views
6

Tôi không chắc chắn liệu các ngắt dòng có được phép trong các giá trị JSON hay không. Tôi chắc chắn là không có khả năng tạo ra những điều sau đây trong JSONlưu giữ các dấu ngắt dòng trong các giá trị trong các cặp khóa-giá trị JSON

{"foo": "I am not sure if line breaks are 
     allowed in JSON values. I certainly 
     am unable to create the following in JSON"} 

Sau đây chắc chắn không hoạt động

{"foo": "I am not sure if line breaks are\nallowed in JSON values. I certainly\nam unable to create the following in JSON"} 

Preamble: Tôi muốn gửi một thông điệp dài như trên một trong hai trình duyệt hoặc ứng dụng giao diện điều khiển và hiển thị nó gọn gàng định dạng để nó dễ đọc cho người dùng.

+0

Xem [SO câu hỏi được trả lời tương tự] (http://stackoverflow.com/questions/42068/how-do-i-handle-newlines-in-json) –

+1

Bạn đã có thể đưa ra giải pháp cho điều này? –

+0

có thể trùng lặp của [Chuỗi đa dòng trong JSON] (http://stackoverflow.com/questions/2392766/multiline-strings-in-json) – PhoneixS

Trả lời

0

Nếu bạn đang hiển thị nó trong HTML,
sẽ đơn giản làm. Hoặc trong vùng văn bản hoặc gì đó, hãy thử "\ r \ n", được bao trong dấu ngoặc kép. Đôi dấu gạch chéo ngược là để thoát.

+0

không hoạt động ... hiển thị dưới dạng chữ \ r \ n – punkish

+0

Thử thoát như "\\ r \\ n" –

1

Nếu bạn đang hiển thị (hoặc chèn) giá trị json trực tiếp trong HTML, bạn không thể sử dụng nó vì trong dòng mới html bị bỏ qua và được thay thế bằng dấu cách.

Ví dụ, nếu bạn có:

<p>Hello, 
I'm in other line.</p> 

Nó sẽ được biểu diễn như:

Xin chào, tôi là phù hợp khác.

Bạn phải chuyển đổi các dòng mới để đoạn hoặc <br>, ví dụ:

<p>Hello,<br> 
I'm in other line.</p> 

Đó sẽ là show biểu diễn như:

Xin chào,

Tôi đang ở khác dòng

Nếu đây là trường hợp của bạn, bạn có thể chỉ cần sử dụng String.replace để thay đổi \n thành <br>\n.