Private Function json_Encode()

in spreadsheet/JsonConverter.bas [677:736]


Private Function json_Encode(ByVal json_Text As Variant) As String
    
    
    Dim json_Index As Long
    Dim json_Char As String
    Dim json_AscCode As Long
    Dim json_Buffer As String
    Dim json_BufferPosition As Long
    Dim json_BufferLength As Long

    For json_Index = 1 To VBA.Len(json_Text)
        json_Char = VBA.Mid$(json_Text, json_Index, 1)
        json_AscCode = VBA.AscW(json_Char)

        
        
        
        If json_AscCode < 0 Then
            json_AscCode = json_AscCode + 65536
        End If

        

        Select Case json_AscCode
        Case 34
            
            json_Char = "\"""
        Case 92
            
            json_Char = "\\"
        Case 47
            
            If JsonOptions.EscapeSolidus Then
                json_Char = "\/"
            End If
        Case 8
            
            json_Char = "\b"
        Case 12
            
            json_Char = "\f"
        Case 10
            
            json_Char = "\n"
        Case 13
            
            json_Char = "\r"
        Case 9
            
            json_Char = "\t"
        Case 0 To 31, 127 To 65535
            
            json_Char = "\u" & VBA.Right$("0000" & VBA.Hex$(json_AscCode), 4)
        End Select

        json_BufferAppend json_Buffer, json_Char, json_BufferPosition, json_BufferLength
    Next json_Index

    json_Encode = json_BufferToString(json_Buffer, json_BufferPosition)
End Function