2011-01-23 12 views
5

Odkryłem, że gdy funkcja Firefox's JSON.stringify konwertuje łańcuch znaków z podziałem wierszy, konwertuje znaki \ n 'na' \ u000a '. A kiedy te dane trafią na serwer za pośrednictwem jQuery.ajax.send zamiast "\ u000a", widzę tylko spację. Ktoś wpadł na ten sam problem? Skieruj mnie we właściwym kierunku, proszę.JSON.stringify w Firefoksie i podziały wierszy

+0

[Uwaga ta JSON caveat] (http://stackoverflow.com/questions/5074034/activesupportjson-decode-does-not-properly-handle-literal- line-breaks/5086768 # 5086768); to może, ale nie musi być to, co cię gryzie, ale myślałem, że wskażę to. –

Odpowiedz

0

Punkt kodowy Unicode dla nowej linii to U + 000A. Firefox decyduje się zakodować nową linię w Unicode "\ u000a", zamiast skracać ją do "\ n". According to the JSON spec, dozwolone jest używanie formularza Unicode.

Czy na pewno coś jest nie tak z wyjściem? Każda biblioteka JSON powinna być w stanie obsłużyć "\ u000a".

Jeśli debugujesz, pakując zdekodowany JSON w HTML, znak nowej linii jest równoważny spacji w miejscach, w których spacja jest nieważna. Na przykład.

<div>this 
example</div> 

odpowiada:

<div>this example</div> 
Powiązane problemy