Liquid XML Data Binder (C++, Java, VB6) / Reference / C++ / Reference / CXmlObjectBase / C++ ToJson - CXmlObjectBase
In This Topic
    C++ ToJson - CXmlObjectBase
    In This Topic
        std::tstring ToJson()
    std::tstring ToJson(bool bIncludeDocHeader,
                                bool bFormatJson,
                                EOLType eolType,
                                const CSerializationContext& context);
      Property Description  
        Method Name ToJson  
        Return An JSON representation of the data contained within the object  
        Argument - bIncludeDocHeader If this is true then header <?xml version="1.0" ?> is applied to the output (making it a proper JSON document as opposed to a snippet.)  
        Argument - bFormatJSON Indicates how the JSON should be formatted.
    true to turn on indenting, false for no formatting (single line output).
        Argument - eolType Indicates the type of End of line token to use, CR or LFCR. Defaults to CR.  
        Argument - context

    The CSerializationContext object controls the way in which JSON is serialized/de-serialized. Its main role is to control the way in which validation is performed and which namespaces are output.
    If this is not specified, the a default (CSerializationContext::Default global static) instance of the class is used. If you are using several libraries generated from different schemas, or you want to change the way validation is performed for during the lifetime of the application or you are writing multithreaded code, then you should consider creating your own instance(s) of the CSerializationContext.

    Note: If you are writing a multithreaded app it is highly recommended that you use a different instance of this class on each thread, as access to the static instance is not synchronized. Although read only operations to the static instance (CSerializationContext::Default) of the class are thread safe, if the global instance CSerializationContext::Default is modified, then this could potentially cause threading problems.

        Description Returns an JSON string.  

    It will raise an exception if the JSON within the object is not invalid, i.e. invalid number of entries in a collection.

    The function returns a UNICODE xml string. This means that the document header (if included) will contain just <?xml version="1.0"?>. If 'exotic' characters have been used they will simply be encoded as UNICODE.
    It should be noted that, if the string is converted to a single byte representation (1 byte per character) for transmission or writing to disk, then there is a danger that characters will be misrepresented.
    See Multi-Language Support for more information.

    If a UFT-8 or other encoding is required then use JsonToFile or JsonToStream.