Wireshark 4.5.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
Functions
wsjson.h File Reference
#include "ws_symbol_export.h"
#include <inttypes.h>
#include <stdbool.h>
#include "jsmn.h"

Go to the source code of this file.

Functions

WS_DLL_PUBLIC bool json_validate (const uint8_t *buf, const size_t len)
 
WS_DLL_PUBLIC int json_parse (const char *buf, jsmntok_t *tokens, unsigned int max_tokens)
 
WS_DLL_PUBLIC jsmntok_tjson_get_object (const char *buf, jsmntok_t *parent, const char *name)
 
WS_DLL_PUBLIC jsmntok_tjson_get_array (const char *buf, jsmntok_t *parent, const char *name)
 
WS_DLL_PUBLIC int json_get_array_len (jsmntok_t *array)
 
WS_DLL_PUBLIC jsmntok_tjson_get_array_index (jsmntok_t *parent, int idx)
 
WS_DLL_PUBLIC char * json_get_string (char *buf, jsmntok_t *parent, const char *name)
 
WS_DLL_PUBLIC bool json_get_double (char *buf, jsmntok_t *parent, const char *name, double *val)
 
WS_DLL_PUBLIC bool json_get_boolean (char *buf, jsmntok_t *parent, const char *name, bool *val)
 
WS_DLL_PUBLIC bool json_decode_string_inplace (char *text)
 

Detailed Description

JSON parsing functions.

Copyright 2016, Dario Lombardo

Wireshark - Network traffic analyzer By Gerald Combs geral.nosp@m.d@wi.nosp@m.resha.nosp@m.rk.o.nosp@m.rg Copyright 1998 Gerald Combs

SPDX-License-Identifier: GPL-2.0-or-later

Function Documentation

◆ json_decode_string_inplace()

WS_DLL_PUBLIC bool json_decode_string_inplace ( char *  text)

Decode the contents of a JSON string value by overwriting the input data. Returns true on success and false if invalid characters were encountered.

◆ json_get_array()

WS_DLL_PUBLIC jsmntok_t * json_get_array ( const char *  buf,
jsmntok_t parent,
const char *  name 
)

Get the pointer to an array belonging to parent object and named as the name variable. Returns NULL if not found.

◆ json_get_array_index()

WS_DLL_PUBLIC jsmntok_t * json_get_array_index ( jsmntok_t parent,
int  idx 
)

Get the pointer to idx element of an array. Returns NULL if not found.

◆ json_get_array_len()

WS_DLL_PUBLIC int json_get_array_len ( jsmntok_t array)

Get the number of elements of an array. Returns -1 if the JSON objecct is not an array.

◆ json_get_boolean()

WS_DLL_PUBLIC bool json_get_boolean ( char *  buf,
jsmntok_t parent,
const char *  name,
bool *  val 
)

Get the value of a boolean belonging to parent object and named as the name variable. Returns false if not found. (Not the same as the boolean present but false.)

◆ json_get_double()

WS_DLL_PUBLIC bool json_get_double ( char *  buf,
jsmntok_t parent,
const char *  name,
double *  val 
)

Get the value of a number object belonging to parent object and named as the name variable. Returns false if not found. Caution: it modifies input buffer. Scientific notation not supported yet.

◆ json_get_object()

WS_DLL_PUBLIC jsmntok_t * json_get_object ( const char *  buf,
jsmntok_t parent,
const char *  name 
)

Get the pointer to an object belonging to parent object and named as the name variable. Returns NULL if not found.

◆ json_get_string()

WS_DLL_PUBLIC char * json_get_string ( char *  buf,
jsmntok_t parent,
const char *  name 
)

Get the unescaped value of a string object belonging to parent object and named as the name variable. Returns NULL if not found. Caution: it modifies input buffer.

◆ json_validate()

WS_DLL_PUBLIC bool json_validate ( const uint8_t *  buf,
const size_t  len 
)

Check if a buffer is json an returns true if it is.