Sample code for 30+ languages & platforms
PureBasic

JSON Escape and Unescape a String

Demonstrates how to JSON escape or unescape a string.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkStringBuilder.pb"

Procedure ChilkatExample()

    sb.i = CkStringBuilder::ckCreate()
    If sb.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkStringBuilder::ckAppend(sb,"backslash: \\, A: \u0041")
    Debug CkStringBuilder::ckGetAsString(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::ckDecode(sb,"json","utf-8")
    Debug CkStringBuilder::ckGetAsString(sb)

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

    ; Now JSON escape the string.
    CkStringBuilder::ckEncode(sb,"json","utf-8")
    Debug CkStringBuilder::ckGetAsString(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.


    CkStringBuilder::ckDispose(sb)


    ProcedureReturn
EndProcedure