Important Update:

- Improve "printing" for JSON with single & multi line objects
- Fix bugs in getting, setting & creating array elements
- "array[]" allowed to create/add element at end of an array
- No longer duplicate get() path (reduce memory allocation)
  - added NameLen to TMember to eliminate zero-terminate requirement
- Fix ReadfromXXX() return values
This commit is contained in:
Charl Wentzel
2017-04-05 08:07:53 +02:00
parent 66fc4bc123
commit 200f7e1f8b
3 changed files with 99 additions and 53 deletions

View File

@@ -30,10 +30,12 @@ typedef struct SDataMember TDataMember;
struct SDataMember
{
char * Name;
unsigned short NameLen;
EDataType Type;
TDataMember * FirstChild;
char * Value;
int Len;
unsigned short Len;
TDataMember * Next;
};
@@ -65,6 +67,7 @@ public:
EDataType GetType( TDataMember * BaseMember, const char * Path );
TDataMember * GetMember( TDataMember * BaseMember, const char * Path, bool Create = false );
TDataMember * GetFirstChild( TDataMember * BaseMember, const char * Path, bool Create = false );
const char * GetStr( TDataMember * BaseMember, const char * Path, const char * Default = NULL, bool Create = false );
const char * GetStr( TDataMember * BaseMember, const char * Path, int &Len, const char * Default = NULL, bool Create = false );