Re: [WebDNA] Escaping content for JSON

This WebDNA talk-list message is from

2016


It keeps the original formatting.
numero = 113230
interpreted = N
texte = 818 --f403045ea282d141d705424eb352 Content-Type: text/plain; charset=UTF-8 Hi all, Re-visting this as I am doing a lot of work involving JSON and Javascript and escaping strings was doing my head in. These functions work and only require one [convertchars] pass. Thanks to the write up by Brian and Terry here - http://www.webdna.us/page.dna?numero=183 - which outlined that both the from, and to fields are first [unurl]'d when using convert chars. It might help someone else. - Tom *Ref: * *http://stackoverflow.com/questions/983451/where-can-i-find-a-list-of-escape-characters-required-for-my-json-ajax-return-tyd * *https://en.wikipedia.org/wiki/UTF-8#Codepage_layout * [function name=json_escape][!] Note Char Hex Stored in WebDNA As Quote " %22 " BackSlash \ %5C \ ForwardSlash / / / Form Feed %08 %08 Line Feed %0A %0B Carriage Return %0D %0B Horizontal Tab %09 %1D %0B and %1D added to convert data read from a WebDNA db [/!][table name=tabJSONESCAPE&fields=from,to] %22 \%22 %5C \%5C / \/ %08 \b %0C \f %0A \n %0D \r %09 \t %0B \n %1D \t [/table][!] [/!][return][convertchars table=tabJSONESCAPE][params_string][/convertchars][/return][!] [/!][/function] [text]test_string=L "John" & \ / Joanna ' + Jane[/text] [json_escape [test_string]] Result: L \"John\" & \\ \/ Joanna ' + Jane [function name=js_escape][!] Note Char Hex Stored in WebDNA As Quote " %22 " Apostraphe ' %27 ' BackSlash \ %5C \ ForwardSlash / / / Form Feed %08 %08 Line Feed %0A %0B Carriage Return %0D %0B Horizontal Tab %09 %1D %0B and %1D added to convert data read from a WebDNA db [/!][table name=tabJSESCAPE&fields=from,to] %22 \%22 %27 \%27 %5C \%5C / \/ %08 \b %0C \f %0A \n %0D \r %09 \t %0B \n %1D \t [/table][!] [/!][return][convertchars table=tabJSESCAPE][params_string][/convertchars][/return][!] [/!][/function] [text]test_string=L "John" & \ / Joanna ' + Jane[/text] [js_escape [test_string]] Result: L \"John\" & \\ \/ Joanna \' + Jane --f403045ea282d141d705424eb352 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi all,

Re-visting this as I am doing= a lot of work involving JSON and Javascript and escaping strings was doing= my head in.

These functions work and only require one [convertchars] pass.=C2=A0= Thanks to the write up by Brian and Terry here -=C2=A0http://www.webdna.us/page.dna?numero=3D1= 83 - which outlined that both the from, and to fields are first [unurl]= 'd when using convert chars.

=
It might help someone else.

- Tom



Ref:=C2=A0
http://stackoverflow.com/questions/983451/where-can-i-find-a-li= st-of-escape-characters-required-for-my-json-ajax-return-tyd
<= div class=3D"gmail_extra">https://en.wikipedia.org/wiki/UTF-8#Codepage_layout



=
[function na= me=3Djson_escape][!]

Note =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0Char =C2=A0 =C2=A0 Hex =C2=A0 =C2=A0 Stored in W= ebDNA As
Quote =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 " =C2=A0 =C2=A0 =C2=A0 = =C2=A0%22 =C2=A0 =C2=A0 "
BackSlash =C2=A0 =C2=A0 =C2=A0 \ =C2=A0 =C2=A0= =C2=A0 =C2=A0%5C =C2=A0 =C2=A0 \
ForwardSlash =C2=A0 =C2=A0/ =C2=A0 =C2=A0 =C2= =A0 =C2=A0/ =C2=A0 =C2=A0 =C2=A0 /
<= font face=3D"monospace, monospace">Form Feed =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0%08 =C2=A0 =C2=A0 %08
Line Feed =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0%0A =C2=A0 =C2=A0 %0B
Carriage Return =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0%0D =C2=A0 =C2=A0 %0B
Horizontal Tab =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 %09 =C2=A0 =C2=A0 %1D

%= 0B and %1D added to convert data read from a WebDNA db

[/!][table name=3DtabJSONESCAPE&fields=3Dfrom,to]
%22\%22
%5C<= span class=3D"gmail-Apple-tab-span" style=3D"white-space:pre">\%5C<= /font>
= /\/<= /font>
= %08\= b
%0C\f
%0A\n
%0D\r
%09= \t
%0B\n
%1D\t
[/table][!]
[/!][return][convertchars table=3DtabJSONESCAPE][para= ms_string][/convertchars][/return][!]
[/!][/function]

[text]test_strin= g=3DL "John" & \ =C2=A0/ Joanna ' + Jane[/text]

[jso= n_escape [test_string]]

Result: L \"John\" & \\ \/ Jo= anna ' + Jane



[function name= =3Djs_escape][!]

Note =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0Char =C2=A0 =C2=A0 Hex =C2=A0 =C2=A0 Stored in WebDNA = As
Q= uote =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 " =C2=A0 =C2=A0 =C2=A0 =C2=A0%= 22 =C2=A0 =C2=A0 "
Apostraphe =C2=A0 =C2=A0 =C2=A0= 9; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0%27 =C2=A0 =C2=A0=C2=A0&= #39;
BackSl= ash =C2=A0 =C2=A0 =C2=A0 \ =C2=A0 =C2=A0 =C2=A0 =C2=A0%5C =C2=A0 =C2=A0 \
<= span class=3D"gmail-Apple-tab-span" style=3D"white-space:pre">Forwa= rdSlash =C2=A0 =C2=A0/ =C2=A0 =C2=A0 =C2=A0 =C2=A0/ =C2=A0 =C2=A0 =C2=A0 /<= /font>
= Form= Feed =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0%08 =C2=A0 =C2= =A0 %08
Line Feed =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0%0A = =C2=A0 =C2=A0 %0B
Carriage Return =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0%0D =C2=A0 = =C2=A0 %0B
= Horizontal Tab =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 %09 =C2=A0 =C2=A0 = %1D

%0B a= nd %1D added to convert data read from a WebDNA db

[/!][table name=3DtabJSESCAPE&fields=3Dfrom,to]
=
%22\%22
%27\%27
%5C<= span class=3D"gmail-Apple-tab-span" style=3D"white-space:pre">\%5C<= /font>
= /\/<= /font>
= %08\= b
%0C\f
%0A\n
%0D\r
%09= \t
%0B\n
%1D\t
[/table][!]
[/!][return][convertchars table=3DtabJSESCAPE][params= _string][/convertchars][/return][!]
= [/!][/function]

[text]test_string= =3DL "John" & \ =C2=A0/ Joanna ' + Jane[/text]

[js_e= scape [test_string]]

Result: L \"John\" & \\ \/ Joanna \= ' + Jane


--------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list . To unsubscribe, E-mail to: archives: http://mail.webdna.us/list/talk@webdna.us Bug Reporting: support@webdna.us --f403045ea282d141d705424eb352-- . Associated Messages, from the most recent to the oldest:

    
  1. Re: [WebDNA] Escaping content for JSON (Stuart Tremain 2016)
  2. Re: [WebDNA] Escaping content for JSON (Tom Duke 2016)
  3. Re: [WebDNA] Escaping content for JSON (Tom Duke 2013)
  4. Re: [WebDNA] Escaping content for JSON (Donovan Brooke 2013)
  5. [WebDNA] Escaping content for JSON (Tom Duke 2013)
818 --f403045ea282d141d705424eb352 Content-Type: text/plain; charset=UTF-8 Hi all, Re-visting this as I am doing a lot of work involving JSON and Javascript and escaping strings was doing my head in. These functions work and only require one [convertchars] pass. Thanks to the write up by Brian and Terry here - http://www.webdna.us/page.dna?numero=183 - which outlined that both the from, and to fields are first [unurl]'d when using convert chars. It might help someone else. - Tom *Ref: * *http://stackoverflow.com/questions/983451/where-can-i-find-a-list-of-escape-characters-required-for-my-json-ajax-return-tyd * *https://en.wikipedia.org/wiki/UTF-8#Codepage_layout * [function name=json_escape][!] Note Char Hex Stored in WebDNA As Quote " %22 " BackSlash \ %5C \ ForwardSlash / / / Form Feed %08 %08 Line Feed %0A %0B Carriage Return %0D %0B Horizontal Tab %09 %1D %0B and %1D added to convert data read from a WebDNA db [/!][table name=tabJSONESCAPE&fields=from,to] %22 \%22 %5C \%5C / \/ %08 \b %0C \f %0A \n %0D \r %09 \t %0B \n %1D \t [/table][!] [/!][return][convertchars table=tabJSONESCAPE][params_string][/convertchars][/return][!] [/!][/function] [text]test_string=L "John" & \ / Joanna ' + Jane[/text] [json_escape [test_string]] Result: L \"John\" & \\ \/ Joanna ' + Jane [function name=js_escape][!] Note Char Hex Stored in WebDNA As Quote " %22 " Apostraphe ' %27 ' BackSlash \ %5C \ ForwardSlash / / / Form Feed %08 %08 Line Feed %0A %0B Carriage Return %0D %0B Horizontal Tab %09 %1D %0B and %1D added to convert data read from a WebDNA db [/!][table name=tabJSESCAPE&fields=from,to] %22 \%22 %27 \%27 %5C \%5C / \/ %08 \b %0C \f %0A \n %0D \r %09 \t %0B \n %1D \t [/table][!] [/!][return][convertchars table=tabJSESCAPE][params_string][/convertchars][/return][!] [/!][/function] [text]test_string=L "John" & \ / Joanna ' + Jane[/text] [js_escape [test_string]] Result: L \"John\" & \\ \/ Joanna \' + Jane --f403045ea282d141d705424eb352 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi all,

Re-visting this as I am doing= a lot of work involving JSON and Javascript and escaping strings was doing= my head in.

These functions work and only require one [convertchars] pass.=C2=A0= Thanks to the write up by Brian and Terry here -=C2=A0http://www.webdna.us/page.dna?numero=3D1= 83 - which outlined that both the from, and to fields are first [unurl]= 'd when using convert chars.

=
It might help someone else.

- Tom



Ref:=C2=A0
http://stackoverflow.com/questions/983451/where-can-i-find-a-li= st-of-escape-characters-required-for-my-json-ajax-return-tyd
<= div class=3D"gmail_extra">https://en.wikipedia.org/wiki/UTF-8#Codepage_layout



=
[function na= me=3Djson_escape][!]

Note =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0Char =C2=A0 =C2=A0 Hex =C2=A0 =C2=A0 Stored in W= ebDNA As
Quote =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 " =C2=A0 =C2=A0 =C2=A0 = =C2=A0%22 =C2=A0 =C2=A0 "
BackSlash =C2=A0 =C2=A0 =C2=A0 \ =C2=A0 =C2=A0= =C2=A0 =C2=A0%5C =C2=A0 =C2=A0 \
ForwardSlash =C2=A0 =C2=A0/ =C2=A0 =C2=A0 =C2= =A0 =C2=A0/ =C2=A0 =C2=A0 =C2=A0 /
<= font face=3D"monospace, monospace">Form Feed =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0%08 =C2=A0 =C2=A0 %08
Line Feed =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0%0A =C2=A0 =C2=A0 %0B
Carriage Return =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0%0D =C2=A0 =C2=A0 %0B
Horizontal Tab =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 %09 =C2=A0 =C2=A0 %1D

%= 0B and %1D added to convert data read from a WebDNA db

[/!][table name=3DtabJSONESCAPE&fields=3Dfrom,to]
%22\%22
%5C<= span class=3D"gmail-Apple-tab-span" style=3D"white-space:pre">\%5C<= /font>
= /\/<= /font>
= %08\= b
%0C\f
%0A\n
%0D\r
%09= \t
%0B\n
%1D\t
[/table][!]
[/!][return][convertchars table=3DtabJSONESCAPE][para= ms_string][/convertchars][/return][!]
[/!][/function]

[text]test_strin= g=3DL "John" & \ =C2=A0/ Joanna ' + Jane[/text]

[jso= n_escape [test_string]]

Result: L \"John\" & \\ \/ Jo= anna ' + Jane



[function name= =3Djs_escape][!]

Note =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0Char =C2=A0 =C2=A0 Hex =C2=A0 =C2=A0 Stored in WebDNA = As
Q= uote =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 " =C2=A0 =C2=A0 =C2=A0 =C2=A0%= 22 =C2=A0 =C2=A0 "
Apostraphe =C2=A0 =C2=A0 =C2=A0= 9; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0%27 =C2=A0 =C2=A0=C2=A0&= #39;
BackSl= ash =C2=A0 =C2=A0 =C2=A0 \ =C2=A0 =C2=A0 =C2=A0 =C2=A0%5C =C2=A0 =C2=A0 \
<= span class=3D"gmail-Apple-tab-span" style=3D"white-space:pre">Forwa= rdSlash =C2=A0 =C2=A0/ =C2=A0 =C2=A0 =C2=A0 =C2=A0/ =C2=A0 =C2=A0 =C2=A0 /<= /font>
= Form= Feed =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0%08 =C2=A0 =C2= =A0 %08
Line Feed =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0%0A = =C2=A0 =C2=A0 %0B
Carriage Return =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0%0D =C2=A0 = =C2=A0 %0B
= Horizontal Tab =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 %09 =C2=A0 =C2=A0 = %1D

%0B a= nd %1D added to convert data read from a WebDNA db

[/!][table name=3DtabJSESCAPE&fields=3Dfrom,to]
=
%22\%22
%27\%27
%5C<= span class=3D"gmail-Apple-tab-span" style=3D"white-space:pre">\%5C<= /font>
= /\/<= /font>
= %08\= b
%0C\f
%0A\n
%0D\r
%09= \t
%0B\n
%1D\t
[/table][!]
[/!][return][convertchars table=3DtabJSESCAPE][params= _string][/convertchars][/return][!]
= [/!][/function]

[text]test_string= =3DL "John" & \ =C2=A0/ Joanna ' + Jane[/text]

[js_e= scape [test_string]]

Result: L \"John\" & \\ \/ Joanna \= ' + Jane


--------------------------------------------------------- This message is sent to you because you are subscribed to the mailing list . To unsubscribe, E-mail to: archives: http://mail.webdna.us/list/talk@webdna.us Bug Reporting: support@webdna.us --f403045ea282d141d705424eb352-- . Tom Duke

DOWNLOAD WEBDNA NOW!

Top Articles:

Talk List

The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...

Related Readings:

Replace context problem ... (1997) serial number (1998) Authenticate (1997) WebCat2.0 [format thousands .0f] no go (1997) Date Bug (1998) Users.db permissions (2003) WC1.6 to WC2 date formatting (1997) authenticate and password (1998) SiteGuard Use Question (1997) Return records from another (1997) [isfile] ? (1997) controlling user input (1998) Strange database format import (2000) PSC recommends what date format yr 2000??? (1997) French characters in variables (2001) why won't this TCPConnect/Send work? (2004) OT: Flash artist needed (2005) Multi Actions (1999) WC 2.0 frames feature (1997) Javascript Stored in a Database (2003)