Commotion Wireless
About
Blog
Documentation
Download
For Organizers
For Developers
- API Reference - commotiond
Main Page
Related Pages
Classes
Files
File List
File Members
src
extern
jsmn.h
1
#ifndef __JSMN_H_
2
#define __JSMN_H_
3
4
/**
5
* JSON type identifier. Basic types are:
6
* o Object
7
* o Array
8
* o String
9
* o Other primitive: number, boolean (true/false) or null
10
*/
11
typedef
enum
{
12
JSMN_PRIMITIVE = 0,
13
JSMN_OBJECT = 1,
14
JSMN_ARRAY = 2,
15
JSMN_STRING = 3
16
} jsmntype_t;
17
18
typedef
enum
{
19
/* Not enough tokens were provided */
20
JSMN_ERROR_NOMEM = -1,
21
/* Invalid character inside JSON string */
22
JSMN_ERROR_INVAL = -2,
23
/* The string is not a full JSON packet, more bytes expected */
24
JSMN_ERROR_PART = -3,
25
/* Everything was fine */
26
JSMN_SUCCESS = 0
27
} jsmnerr_t;
28
29
/**
30
* JSON token description.
31
* @param type type (object, array, string etc.)
32
* @param start start position in JSON data string
33
* @param end end position in JSON data string
34
*/
35
typedef
struct
{
36
jsmntype_t type;
37
int
start;
38
int
end;
39
int
size;
40
#ifdef JSMN_PARENT_LINKS
41
int
parent;
42
#endif
43
}
jsmntok_t
;
44
45
/**
46
* JSON parser. Contains an array of token blocks available. Also stores
47
* the string being parsed now and current position in that string
48
*/
49
typedef
struct
{
50
unsigned
int
pos;
/* offset in the JSON string */
51
int
toknext;
/* next token to allocate */
52
int
toksuper;
/* superior token node, e.g parent object or array */
53
}
jsmn_parser
;
54
55
/**
56
* Create JSON parser over an array of tokens
57
*/
58
void
jsmn_init(
jsmn_parser
*parser);
59
60
/**
61
* Run JSON parser. It parses a JSON data string into and array of tokens, each describing
62
* a single JSON object.
63
*/
64
jsmnerr_t jsmn_parse(
jsmn_parser
*parser,
const
char
*js,
65
jsmntok_t
*tokens,
unsigned
int
num_tokens);
66
67
#endif
/* __JSMN_H_ */
jsmntok_t
Definition:
jsmn.h:35
jsmn_parser
Definition:
jsmn.h:49
Generated on Fri Jun 6 2014 13:22:05 for commotiond by
1.8.7