class CCL::JsonArchive
Overview
JSON Archive - http://json.org. More…
#include <jsonarchive.h> class JsonArchive: public CCL::Archive { public: // enums enum Flags; // classes class Reader; class Writer; // fields kTypeIDEnabled; // construction JsonArchive ( IStream& stream, Attributes* context = nullptr, StringID saveType = nullptr ); JsonArchive (IStream& stream, int flags); // methods DECLARE_STRINGID_MEMBER (kMimeType) const; PROPERTY_FLAG (flags, kSuppressWhitespace, isSuppressWhitespace); isTypeIDEnabled PROPERTY_FLAG (flags, kKeepDuplicateKeys, isKeepDuplicateKeys) const; virtual ArchiveType getArchiveType () const; virtual bool isAnonymous () const; virtual bool saveAttributes (ObjectID root, const Attributes& attributes); virtual bool loadAttributes (ObjectID root, Attributes& attributes); static bool isJson (const void* data, uint32 length); };
Inherited Members
public: // typedefs typedef CStringRef ObjectID; // fields static StringID kSaveTypeCopy; static StringID kSaveTypePreview; // methods virtual ArchiveType getArchiveType () const = 0; virtual bool isAnonymous () const = 0; PROPERTY_VARIABLE (int, flags, Flags); void setContext (Attributes* context); Attributes* getContext (); PROPERTY_MUTABLE_CSTRING (saveType, SaveType); bool saveObject (ObjectID name, const Object& object); bool loadObject (ObjectID name, Object& object); virtual bool saveAttributes (ObjectID root, const Attributes& attributes) = 0; virtual bool loadAttributes (ObjectID root, Attributes& attributes) = 0;
Detailed Documentation
JSON Archive - http://json.org.
Methods
isTypeIDEnabled PROPERTY_FLAG (flags, kKeepDuplicateKeys, isKeepDuplicateKeys) const
save array at top level without enclosing object
virtual ArchiveType getArchiveType () const
archive type (XML, JSON, binary, etc.)
virtual bool isAnonymous () const
true if archive doesn’t provide type information
static bool isJson (const void* data, uint32 length)
checks if first character looks like JSON