blob: a9ba9efaedc20071a4bd5fd43a84f9401a991651 [file] [log] [blame]
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
/*
* Copyright (c) 2019 Amlogic, Inc. All rights reserved.
*/
#ifndef _CJSON_H
#define _CJSON_H
/* cjson Types: */
#define cjson_false 0
#define cjson_true 1
#define cjson_null 2
#define cjson_number 3
#define cjson_string 4
#define cjson_array 5
#define cjson_object 6
#define cjson_isreference 256
#define cjson_stringisconst 512
/* The cjson structure: */
struct cjson {
struct cjson *next, *prev; /* next/prev allow you to walk array/object chains*/
struct cjson *child;
/* item will have a child pointer pointing to a chain of the items in the array/object. */
int type; /* The type of the item, as above. */
char *valuestring; /* The item's string, if type==cjson_string */
int valueint; /* The item's number, if type==cjson_number */
double valuedouble; /* The item's number, if type==cjson_number */
char *string; /* The item's name string*/
char *pure_json; /*chorm add it at 2020-01-03 17:39.*/
};
struct cjson *cjson_parse(const char *value);
void cjson_delete(struct cjson *c);
struct cjson *cjson_getobjectitem(struct cjson *object, const char *string);
#endif