Barracuda Application Server C/C++ Reference
Native APIs, integration guides, and platform interfaces
JParserVal Struct Reference

Detailed Description

The parser sets a JParserVal before calling the parser callback JParserIntf.

#include <JParser.h>

Public Attributes

union {
   char *   s
 Borrowed UTF-8 bytes for String; use stringLen to preserve embedded NUL. More...
 
   double   f
 If number of type double. More...
 
   S32   d
 If integer. More...
 
   U64   l
 Long integer bit pattern; signed JSON long values are interpreted as S64 by consumers. More...
 
} v
 A union controlled by the type 't'. More...
 
char * memberName
 object member name is set for objects. More...
 
size_t stringLen
 String length when t is JParserT_String. More...
 
size_t memberNameLen
 Object member-name length. More...
 
BaBool memberNameSet
 TRUE when this event carries an object member name, including an empty name. More...
 
JParserT t
 The type controlling 'v'. More...
 

Member Data Documentation

◆ d

S32 JParserVal::d

If integer.

◆ f

double JParserVal::f

If number of type double.

◆ l

U64 JParserVal::l

Long integer bit pattern; signed JSON long values are interpreted as S64 by consumers.

◆ memberName

char* JParserVal::memberName

object member name is set for objects.

Use the following construction to differentiate between an object/array:

if(val->memberNameSet)
{
// object
}
else
{
// array
}

◆ memberNameLen

size_t JParserVal::memberNameLen

Object member-name length.

◆ memberNameSet

BaBool JParserVal::memberNameSet

TRUE when this event carries an object member name, including an empty name.

FALSE also applies to container-end/top-level events.

◆ s

char* JParserVal::s

Borrowed UTF-8 bytes for String; use stringLen to preserve embedded NUL.

◆ stringLen

size_t JParserVal::stringLen

String length when t is JParserT_String.

◆ t

JParserT JParserVal::t

The type controlling 'v'.

◆ 

union { ... } JParserVal::v

A union controlled by the type 't'.