2011-01-23 38 views
5

Tôi phát hiện ra, khi hàm JSON.stringify của Firefox chuyển đổi chuỗi có ngắt dòng, nó chuyển đổi ký tự '\ n' thành '\ u000a'. Và khi dữ liệu này đến máy chủ thông qua jQuery.ajax.send thay vì '\ u000a', tôi chỉ thấy một khoảng trắng. Bất cứ ai chạy vào cùng một vấn đề? Hướng tôi đi đúng hướng, làm ơn.JSON.stringify trong Firefox và ngắt dòng

+0

Note [JSON này caveat] (http://stackoverflow.com/questions/5074034/activesupportjson-decode-does-not-properly-handle-literal- line-breaks/5086768 # 5086768); nó có thể hoặc có thể không phải là những gì cắn bạn, nhưng tôi nghĩ tôi muốn chỉ ra nó. –

Trả lời

0

Điểm mã Unicode cho dòng mới là U + 000A. Firefox sẽ chọn để mã hóa dòng mới thành Unicode '\ u000a', thay vì rút ngắn nó thành '\ n'. According to the JSON spec, cho phép sử dụng biểu mẫu Unicode.

Bạn có chắc chắn điều gì đó thực sự sai với đầu ra không? Bất kỳ thư viện JSON nào cũng có thể xử lý '\ u000a' tốt.

Nếu bạn đang gỡ lỗi bằng cách gói JSON được giải mã trong HTML, một dòng mới tương đương với khoảng trắng ở những nơi không gian trắng không quan trọng. Ví dụ.

<div>this 
example</div> 

tương đương với:

<div>this example</div>