18#define kNeJsonMaxLen (8196)
19#define kNeJsonLen (256)
20#define kNeJsonNullArr "[]"
21#define kNeJsonNullObj "{}"
22#define kNeJsonNullKey "null"
23#define kNeJsonNullValue kNeJsonNullKey
29template <
typename CharKind = Char>
81 if (full_array[0] != start_val) {
97 for (
SizeT i = 1; i < len; ++i) {
98 if (full_array[i] ==
'\r' || full_array[i] ==
'\n')
continue;
101 if (full_array[i] == end_val || full_array[i] ==
',') {
106 if (full_array[i] ==
'\'') {
107 type.
AsValue().Data()[value_len] = 0;
111 type.
AsValue().Data()[value_len] = full_array[i];
116 if (start_val ==
'[')
continue;
118 if (full_array[i] ==
':') {
119 type.
AsKey().Data()[key_len] = 0;
124 while (full_array[i] ==
' ' || full_array[i] ==
'\t') ++i;
128 type.
AsKey().Data()[key_len] = full_array[i];
135 type.
AsValue().Data()[value_len] = 0;
#define NE_COPY_DEFAULT(KLASS)
Definition Detail.h:17
#define NE_MOVE_DEFAULT(KLASS)
Definition Detail.h:25
#define kNeJsonMaxLen
Kernel JSON API.
Definition Json.h:18
#define kNeJsonNullValue
Definition Json.h:23
JSON object representation.
Definition Json.h:30
KBasicString< CharKind > & AsValue()
returns the value of the json.
Definition Json.h:67
KBasicString< CharKind > fKey
Definition Json.h:57
Bool & IsUndefined()
Definition Json.h:53
KBasicString< CharKind > & AsKey()
returns the key of the json
Definition Json.h:63
JsonObject()
Definition Json.h:32
STATIC JsonObject< CharKind > kNull
Definition Json.h:69
JsonObject(SizeT lhsLen, SizeT rhsLen)
Definition Json.h:40
Bool fUndefined
Definition Json.h:56
KBasicString< CharKind > fValue
Definition Json.h:58
Kernel string class, not dynamic.
Definition KString.h:20
UPS inline definitions.
Definition Device.h:12
char Char
Definition Config.h:51
Size rt_string_len(const Char *str)
Definition AsciiUtils.cc:23
__SIZE_TYPE__ SizeT
Definition Config.h:60
Stream< AsciiJsonStreamReader, JsonObject< Char > > AsciiJsonStream
AsciiJsonStream type definition.
Definition Json.h:144
bool Boolean
Definition Config.h:49
KBasicString<> KString
Definition KString.h:76
bool Bool
Definition Config.h:50
JsonObject stream reader helper for ASCII.
Definition Json.h:75
STATIC JsonObject< Char > In(const Char *full_array)
Definition Json.h:76