IDA C++ SDK 9.2
Loading...
Searching...
No Matches
parsejson.hpp File Reference

Tools for parsing JSON-formatted input. More...

Go to the source code of this file.

Classes

struct  kvp_t
struct  jobj_t
struct  jarr_t

Typedefs

typedef qvector< jvalue_t > jvalues_t

Enumerations

enum  jtype_t {
  JT_UNKNOWN = 0 , JT_NUM , JT_STR , JT_OBJ ,
  JT_ARR , JT_BOOL , JT_NULL , JT_DBL
}

Functions

 DECLARE_JVALUE_HELPERS (idaman) struct jvalue_t
 DECLARE_TYPE_AS_MOVABLE (jvalue_t)
 DECLARE_TYPE_AS_MOVABLE (kvp_t)
 DECLARE_TYPE_AS_MOVABLE (jobj_t)
 DECLARE_TYPE_AS_MOVABLE (jarr_t)
idaman THREAD_SAFE error_t ida_export parse_json (jvalue_t *out, lexer_t *lx, tokenstack_t *ungot_tokens=nullptr)
idaman THREAD_SAFE error_t ida_export parse_json_string (jvalue_t *out, const char *s, qstring *errbuf=nullptr, const char *file_path=nullptr)
idaman THREAD_SAFE error_t ida_export parse_json_file (jvalue_t *out, const char *path, qstring *errbuf=nullptr)
idaman THREAD_SAFE bool ida_export serialize_json (qstring *out, const jvalue_t &v, uint32 flags=0)
THREAD_SAFE bool serialize_json (qstring *out, const jobj_t *o, uint32 flags=0)

Detailed Description

Tools for parsing JSON-formatted input.

See also lex.hpp/parse.hpp for finer-grained functions & documentation.

Typedef Documentation

◆ jvalues_t

typedef qvector<jvalue_t> jvalues_t

Enumeration Type Documentation

◆ jtype_t

enum jtype_t
Enumerator
JT_UNKNOWN 
JT_NUM 
JT_STR 
JT_OBJ 
JT_ARR 
JT_BOOL 
JT_NULL 
JT_DBL 

Function Documentation

◆ DECLARE_JVALUE_HELPERS()

DECLARE_JVALUE_HELPERS ( idaman )

◆ DECLARE_TYPE_AS_MOVABLE() [1/4]

DECLARE_TYPE_AS_MOVABLE ( jvalue_t )

◆ DECLARE_TYPE_AS_MOVABLE() [2/4]

DECLARE_TYPE_AS_MOVABLE ( kvp_t )

◆ DECLARE_TYPE_AS_MOVABLE() [3/4]

DECLARE_TYPE_AS_MOVABLE ( jobj_t )

◆ DECLARE_TYPE_AS_MOVABLE() [4/4]

DECLARE_TYPE_AS_MOVABLE ( jarr_t )

◆ parse_json()

idaman THREAD_SAFE error_t ida_export parse_json ( jvalue_t * out,
lexer_t * lx,
tokenstack_t * ungot_tokens = nullptr )

◆ parse_json_string()

idaman THREAD_SAFE error_t ida_export parse_json_string ( jvalue_t * out,
const char * s,
qstring * errbuf = nullptr,
const char * file_path = nullptr )

◆ parse_json_file()

idaman THREAD_SAFE error_t ida_export parse_json_file ( jvalue_t * out,
const char * path,
qstring * errbuf = nullptr )

◆ serialize_json() [1/2]

idaman THREAD_SAFE bool ida_export serialize_json ( qstring * out,
const jvalue_t & v,
uint32 flags = 0 )

◆ serialize_json() [2/2]

THREAD_SAFE bool serialize_json ( qstring * out,
const jobj_t * o,
uint32 flags = 0 )
inline