Sample code for 30+ languages & platforms
Tcl

JSON Escape and Unescape a String

Demonstrates how to JSON escape or unescape a string.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set sb [new_CkStringBuilder]

CkStringBuilder_Append $sb "backslash: \\\\, A: \\u0041"
puts [CkStringBuilder_getAsString $sb]

# The output is:
#    backslash: \\, A: \u0041

# The keyword "json" can be used
# to escape and unescape.  To escape is to encode.  To unescape is to decode.

# Unescape (decode) the string in sb.
CkStringBuilder_Decode $sb "json" "utf-8"
puts [CkStringBuilder_getAsString $sb]

# After JSON unescaping:
#    backslash: \, A: A

# Now JSON escape the string.
CkStringBuilder_Encode $sb "json" "utf-8"
puts [CkStringBuilder_getAsString $sb]

# After JSON escaping:
#    backslash: \\, A: A

# Note: The "A" is not escaped to "\u0041" because there is no need.
# The "\uXXXX" format would be produced for non-printable control chars.

delete_CkStringBuilder $sb