API Reference
Classes
Macros
NULL_CHAR_STRING
#define NULL_CHAR_STRING "\0"
JSON_TOKEN_OPEN_CURLY_BRACE_STRING
#define JSON_TOKEN_OPEN_CURLY_BRACE_STRING "{"
JSON_TOKEN_CLOSE_CURLY_BRACE_STRING
#define JSON_TOKEN_CLOSE_CURLY_BRACE_STRING "}"
JSON_TOKEN_OPEN_BRACKET_STRING
#define JSON_TOKEN_OPEN_BRACKET_STRING "["
JSON_TOKEN_CLOSE_BRACKET_STRING
#define JSON_TOKEN_CLOSE_BRACKET_STRING "]"
JSON_TOKEN_COLON_STRING
#define JSON_TOKEN_COLON_STRING ":"
JSON_TOKEN_COMMA_STRING
#define JSON_TOKEN_COMMA_STRING ","
Enumerations
JSONValueType
The JSONValueType enum that stores the types for JSON values.
| Value |
Description |
JSONOBJ_t |
Object. ex {}. |
JSONNUMBER_INT_t |
Integer Number. ex 1. |
JSONNUMBER_DOUBLE_t |
Double Number. ex 1.1. |
JSONSTRING_t |
String. ex "hello". |
JSONBOOL_t |
Boolean. ex true. |
JSONNULL_t |
Null. ex null. |
JSONLIST_t |
List. ex []. |
JSONTokenType
| Value |
Description |
JSONTokenEOF |
|
JSONTokenColon |
|
JSONTokenOpenCurlyBrace |
|
JSONTokenCloseCurlyBrace |
|
JSONTokenOpenBracket |
|
JSONTokenCloseBracket |
|
JSONTokenComma |
|
JSONTokenString |
|
JSONTokenNumber |
|
JSONTokenBool |
|
JSONTokenNULL |
|
JSONTokenIllegal |
|
Functions
JSONValueBlankInit
JSONValue * JSONValueBlankInit()
JSONValueInit
JSONValue * JSONValueInit(enum JSONValueType value_type, void * value)
JSONValueToString
char * JSONValueToString(void * value)
JSONValueFree
void JSONValueFree(void * value)
JSONValuePrint
void JSONValuePrint(void * value)
JSONValueDuplicate
void * JSONValueDuplicate(void * value)
JSONInit
JSONFree
void JSONFree(JSON * json)
JSONPrint
void JSONPrint(JSON * json)
JSONGetRoot
JSONValue * JSONGetRoot(JSON * json)
StringToJSON
JSON * StringToJSON(char *)
JSONFromFile
JSON * JSONFromFile(char *)
JSONToString
char * JSONToString(JSON *)
TestJSON
JSONLexerInit
JSONLexer * JSONLexerInit(char *)
FreeJSONLexer
void FreeJSONLexer(JSONLexer *)
JSONLex
JSONToken * JSONLex(JSONLexer *)
PrintJSONToken
void PrintJSONToken(JSONToken *, bool)
FreeJSONToken
void FreeJSONToken(JSONToken *)
IsJSONTokenValueType
bool IsJSONTokenValueType(JSONToken *, bool)
JSONLexerDebugTest
void JSONLexerDebugTest(char *, bool)
NewJSONToken
JSONToken * NewJSONToken(enum JSONTokenType, u_int32_t, u_int32_t, u_int32_t, char *)
JSONParserInit
JSONParser * JSONParserInit(JSONLexer *)
PrintJSONParserError
void PrintJSONParserError(JSONParser *)
FreeJSONParser
void FreeJSONParser(JSONParser *)
PrintJSONParserErrorLine
void PrintJSONParserErrorLine(JSONParser *)
FreeJSONValue
void FreeJSONValue(JSONValue *, bool)
ParseJSON
JSON * ParseJSON(JSONParser *)
Variables
ItemValueJSONValueOperations
ItemValueOperations ItemValueJSONValueOperations
JSON
Public Attributes
| Return |
Name |
Description |
Item * |
root |
|
root
JSONLexer
Public Attributes
current_char
position
read_position
line
JSONToken
Public Attributes
type
start
end
line
literal
JSONValue
Public Attributes
value_type
enum JSONValueType value_type
Type: enum JSONValueType
@101112273240373251367232114052174162075306057323
union JSONValue::@372020044153077151131055174206216317330213243071 @101112273240373251367232114052174162075306057323
[union].unnamed0
union [union].__unnamed0__
Public Attributes
list
obj
num_int
num_double
str
boolean
JSONParser
Public Attributes
lexer
current_token
JSONToken * current_token
peek_token
memory_error
error_message
list_nested
obj_nested
[union].unnamed0
union [union].__unnamed0__
Public Attributes
list
obj
num_int
num_double
str
boolean