SNAP Library 2.2, Developer Reference
2014-03-11 19:15:55
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
|
#include <json.h>
Public Member Functions | |
TJsonVal () | |
TJsonVal (TSIn &SIn) | |
void | Save (TSOut &SOut) const |
TStr | SaveStr () |
bool | operator== (const TJsonVal &JsonVal) const |
bool | operator!= (const TJsonVal &JsonVal) const |
void | PutNull () |
void | PutBool (const bool &_Bool) |
void | PutNum (const double &_Num) |
void | PutStr (const TStr &_Str) |
void | PutArr () |
void | AddToArr (const PJsonVal &Val) |
void | PutObj () |
void | AddToObj (const TStr &KeyNm, const PJsonVal &Val) |
void | AddToObj (const TStr &KeyNm, const int &Val) |
void | AddToObj (const TStr &KeyNm, const double &Val) |
void | AddToObj (const TStr &KeyNm, const TStr &Val) |
void | AddToObj (const TStr &KeyNm, const char *Val) |
void | AddToObj (const TStr &KeyNm, const bool &Val) |
void | AddToObj (const TStr &KeyNm, const TJsonValV &ValV) |
void | AddToObj (const PJsonVal &Val) |
TJsonValType | GetJsonValType () const |
bool | IsDef () const |
bool | IsNull () const |
bool | IsBool () const |
bool | IsNum () const |
bool | IsStr () const |
bool | IsArr () const |
bool | IsObj () const |
bool | GetBool () const |
double | GetNum () const |
TStr | GetStr () const |
int | GetArrVals () const |
PJsonVal | GetArrVal (const int &ValN) const |
int | GetObjKeys () const |
void | GetObjKeyVal (const int &KeyValN, TStr &Key, PJsonVal &Val) const |
bool | IsObjKey (const TStr &Key) const |
bool | IsObjKey (const char *Key) const |
PJsonVal | GetObjKey (const TStr &Key) const |
PJsonVal | GetObjKey (const char *Key) const |
bool | GetObjBool (const TStr &Key) const |
bool | GetObjBool (const char *Key) const |
double | GetObjNum (const TStr &Key) const |
double | GetObjNum (const char *Key) const |
TStr | GetObjStr (const TStr &Key) const |
TStr | GetObjStr (const char *Key) const |
bool | GetObjBool (const TStr &Key, const bool &DefBool) const |
bool | GetObjBool (const char *Key, const bool &DefBool) const |
double | GetObjNum (const TStr &Key, const double &DefNum) const |
double | GetObjNum (const char *Key, const double &DefNum) const |
TStr | GetObjStr (const TStr &Key, const TStr &DefStr) const |
TStr | GetObjStr (const char *Key, const TStr &DefStr) const |
Static Public Member Functions | |
static PJsonVal | New () |
static PJsonVal | Load (TSIn &SIn) |
static PJsonVal | NewNull () |
static PJsonVal | NewBool (const bool &Bool) |
static PJsonVal | NewNum (const double &Num) |
static PJsonVal | NewStr (const TStr &Str) |
static PJsonVal | NewArr () |
static PJsonVal | NewArr (const TJsonValV &ValV) |
static PJsonVal | NewArr (const TIntV &IntV) |
static PJsonVal | NewArr (const TFltV &FltV) |
static PJsonVal | NewArr (const TStrV &StrV) |
static PJsonVal | NewArr (const TFltPr &FltPr) |
static PJsonVal | NewObj () |
static PJsonVal | NewObj (const TStr &KeyNm, const PJsonVal &ObjVal) |
static PJsonVal | NewObj (const TStr &KeyNm, const int &ObjVal) |
static PJsonVal | NewObj (const TStr &KeyNm, const double &ObjVal) |
static PJsonVal | NewObj (const TStr &KeyNm, const TStr &ObjVal) |
static PJsonVal | NewObj (const TStr &KeyNm, const bool &ObjVal) |
static PJsonVal | GetValFromLx (TILx &Lx) |
static PJsonVal | GetValFromSIn (const PSIn &SIn) |
static PJsonVal | GetValFromStr (const TStr &JsonStr) |
static void | AddEscapeChAFromStr (const TStr &Str, TChA &ChA) |
static TStr | AddEscapeStrFromStr (const TStr &Str) |
static void | AddQChAFromStr (const TStr &Str, TChA &ChA) |
static void | GetChAFromVal (const PJsonVal &Val, TChA &ChA) |
static TStr | GetStrFromVal (const PJsonVal &Val) |
Private Member Functions | |
UndefCopyAssign (TJsonVal) | |
Private Attributes | |
TCRef | CRef |
TJsonValType | JsonValType |
TBool | Bool |
TFlt | Num |
TStr | Str |
TJsonValV | ValV |
THash< TStr, PJsonVal > | KeyValH |
Friends | |
class | TPt< TJsonVal > |
TJsonVal::TJsonVal | ( | ) | [inline] |
Definition at line 19 of file json.h.
: JsonValType(jvtUndef){}
TJsonVal::TJsonVal | ( | TSIn & | SIn | ) |
Definition at line 3 of file json.cpp.
: JsonValType((TJsonValType)(TInt(SIn).Val)), Bool(SIn), Num(SIn), Str(SIn), ValV(SIn), KeyValH(SIn) { }
void TJsonVal::AddEscapeChAFromStr | ( | const TStr & | Str, |
TChA & | ChA | ||
) | [static] |
Definition at line 188 of file json.cpp.
References TChA::AddCh(), TUnicode::DecodeUtf8(), TStr::Fmt(), TUnicodeDef::GetDef(), TUnicodeDef::IsDef(), TStr::Len(), and TVec< TVal, TSizeTy >::Len().
Referenced by AddQChAFromStr().
{ if (TUnicodeDef::IsDef()) { // parse the UTF8 string TIntV UStr; TUnicodeDef::GetDef()->DecodeUtf8(Str, UStr); // escape the string for (int ChN = 0; ChN < UStr.Len(); ChN++) { const int UCh = UStr[ChN]; if (UCh < 0x80) { // 7-bit ascii const char Ch = (char)UCh; switch (Ch) { case '"' : ChA.AddCh('\\'); ChA.AddCh('"'); break; case '\\' : ChA.AddCh('\\'); ChA.AddCh('\\'); break; case '/' : ChA.AddCh('\\'); ChA.AddCh('/'); break; case '\b' : ChA.AddCh('\\'); ChA.AddCh('b'); break; case '\f' : ChA.AddCh('\\'); ChA.AddCh('f'); break; case '\n' : ChA.AddCh('\\'); ChA.AddCh('n'); break; case '\r' : ChA.AddCh('\\'); ChA.AddCh('r'); break; case '\t' : ChA.AddCh('\\'); ChA.AddCh('t'); break; default : ChA.AddCh(Ch); } } else { // escape ChA += "\\u"; ChA += TStr::Fmt("%04x", UCh); } } } else { // escape the string for (int ChN = 0; ChN < Str.Len(); ChN++) { const char Ch = Str[ChN]; if ((Ch & 0x80) == 0) { // 7-bit ascii switch (Ch) { case '"' : ChA.AddCh('\\'); ChA.AddCh('"'); break; case '\\' : ChA.AddCh('\\'); ChA.AddCh('\\'); break; case '/' : ChA.AddCh('\\'); ChA.AddCh('/'); break; case '\b' : ChA.AddCh('\\'); ChA.AddCh('b'); break; case '\f' : ChA.AddCh('\\'); ChA.AddCh('f'); break; case '\n' : ChA.AddCh('\\'); ChA.AddCh('n'); break; case '\r' : ChA.AddCh('\\'); ChA.AddCh('r'); break; case '\t' : ChA.AddCh('\\'); ChA.AddCh('t'); break; default : ChA.AddCh(Ch); } } else { // escape ChA += "\\u"; ChA += TStr::Fmt("%02x", (int)Ch); } } } }
static TStr TJsonVal::AddEscapeStrFromStr | ( | const TStr & | Str | ) | [inline, static] |
Definition at line 113 of file json.h.
{ TChA ChA; AddEscapeChAFromStr(Str, ChA); return ChA; }
void TJsonVal::AddQChAFromStr | ( | const TStr & | Str, |
TChA & | ChA | ||
) | [static] |
Definition at line 242 of file json.cpp.
References AddEscapeChAFromStr().
Referenced by GetChAFromVal().
{ ChA+="\""; AddEscapeChAFromStr(Str, ChA); ChA+="\""; }
void TJsonVal::AddToArr | ( | const PJsonVal & | Val | ) | [inline] |
void TJsonVal::AddToObj | ( | const TStr & | KeyNm, |
const PJsonVal & | Val | ||
) | [inline] |
Definition at line 39 of file json.h.
References EAssert, and jvtObj.
Referenced by AddToObj().
{ EAssert(JsonValType==jvtObj); KeyValH.AddDat(KeyNm, Val);}
void TJsonVal::AddToObj | ( | const TStr & | KeyNm, |
const int & | Val | ||
) | [inline] |
Definition at line 41 of file json.h.
References AddToObj().
Referenced by AddToObj().
void TJsonVal::AddToObj | ( | const TStr & | KeyNm, |
const double & | Val | ||
) | [inline] |
Definition at line 42 of file json.h.
References AddToObj().
Referenced by AddToObj().
void TJsonVal::AddToObj | ( | const TStr & | KeyNm, |
const TStr & | Val | ||
) | [inline] |
Definition at line 43 of file json.h.
References AddToObj().
Referenced by AddToObj().
void TJsonVal::AddToObj | ( | const TStr & | KeyNm, |
const char * | Val | ||
) | [inline] |
Definition at line 44 of file json.h.
References AddToObj().
Referenced by AddToObj().
void TJsonVal::AddToObj | ( | const TStr & | KeyNm, |
const bool & | Val | ||
) | [inline] |
Definition at line 45 of file json.h.
References AddToObj().
Referenced by AddToObj().
void TJsonVal::AddToObj | ( | const TStr & | KeyNm, |
const TJsonValV & | ValV | ||
) | [inline] |
Definition at line 46 of file json.h.
References AddToObj().
Referenced by AddToObj().
void TJsonVal::AddToObj | ( | const PJsonVal & | Val | ) |
PJsonVal TJsonVal::GetArrVal | ( | const int & | ValN | ) | const [inline] |
int TJsonVal::GetArrVals | ( | ) | const [inline] |
bool TJsonVal::GetBool | ( | ) | const [inline] |
void TJsonVal::GetChAFromVal | ( | const PJsonVal & | Val, |
TChA & | ChA | ||
) | [static] |
Definition at line 248 of file json.cpp.
References AddQChAFromStr(), TStr::Fmt(), jvtArr, jvtBool, jvtNull, jvtNum, jvtObj, jvtStr, and TExcept::Throw().
Referenced by GetStrFromVal().
{ switch (Val->GetJsonValType()){ case jvtNull: ChA+="null"; break; case jvtBool: if (Val->GetBool()){ChA+="true";} else {ChA+="false";} break; case jvtNum: ChA+=TStr::Fmt("%f", Val->GetNum()); break; case jvtStr: AddQChAFromStr(Val->GetStr(), ChA); break; case jvtArr: ChA+="["; for (int ArrValN=0; ArrValN<Val->GetArrVals(); ArrValN++){ if (ArrValN>0){ChA+=", ";} GetChAFromVal(Val->GetArrVal(ArrValN), ChA); } ChA+="]"; break; case jvtObj: ChA+="{"; for (int ObjKeyN=0; ObjKeyN<Val->GetObjKeys(); ObjKeyN++){ if (ObjKeyN>0){ChA+=", ";} TStr ObjKey; PJsonVal ObjVal; Val->GetObjKeyVal(ObjKeyN, ObjKey, ObjVal); AddQChAFromStr(ObjKey, ChA); ChA+=":"; GetChAFromVal(ObjVal, ChA); } ChA+="}"; break; default: TExcept::Throw("Error parsing json"); } }
TJsonValType TJsonVal::GetJsonValType | ( | ) | const [inline] |
Definition at line 73 of file json.h.
{return JsonValType;}
double TJsonVal::GetNum | ( | ) | const [inline] |
bool TJsonVal::GetObjBool | ( | const TStr & | Key | ) | const [inline] |
bool TJsonVal::GetObjBool | ( | const char * | Key | ) | const [inline] |
bool TJsonVal::GetObjBool | ( | const TStr & | Key, |
const bool & | DefBool | ||
) | const |
bool TJsonVal::GetObjBool | ( | const char * | Key, |
const bool & | DefBool | ||
) | const |
PJsonVal TJsonVal::GetObjKey | ( | const TStr & | Key | ) | const |
PJsonVal TJsonVal::GetObjKey | ( | const char * | Key | ) | const |
int TJsonVal::GetObjKeys | ( | ) | const [inline] |
void TJsonVal::GetObjKeyVal | ( | const int & | KeyValN, |
TStr & | Key, | ||
PJsonVal & | Val | ||
) | const [inline] |
double TJsonVal::GetObjNum | ( | const TStr & | Key | ) | const [inline] |
double TJsonVal::GetObjNum | ( | const char * | Key | ) | const [inline] |
double TJsonVal::GetObjNum | ( | const TStr & | Key, |
const double & | DefNum | ||
) | const |
double TJsonVal::GetObjNum | ( | const char * | Key, |
const double & | DefNum | ||
) | const |
TStr TJsonVal::GetObjStr | ( | const TStr & | Key | ) | const [inline] |
Definition at line 99 of file json.h.
References TStr::GetStr().
{ return GetObjKey(Key)->GetStr(); }
TStr TJsonVal::GetObjStr | ( | const char * | Key | ) | const [inline] |
Definition at line 100 of file json.h.
References TStr::GetStr().
{ return GetObjKey(Key)->GetStr(); }
TStr TJsonVal::GetObjStr | ( | const TStr & | Key, |
const TStr & | DefStr | ||
) | const |
TStr TJsonVal::GetObjStr | ( | const char * | Key, |
const TStr & | DefStr | ||
) | const |
TStr TJsonVal::GetStr | ( | ) | const [inline] |
TStr TJsonVal::GetStrFromVal | ( | const PJsonVal & | Val | ) | [static] |
Definition at line 281 of file json.cpp.
References GetChAFromVal().
Referenced by SaveStr().
{ TChA ChA; GetChAFromVal(Val, ChA); return ChA; }
PJsonVal TJsonVal::GetValFromLx | ( | TILx & | Lx | ) | [static] |
Definition at line 120 of file json.cpp.
References TILx::Flt, forever, TILx::GetSym(), New(), TILx::Str, syColon, syComma, syFlt, syIdStr, syLBrace, syLBracket, TILx::Sym, syQStr, syRBrace, syRBracket, and TExcept::Throw().
Referenced by GetValFromSIn().
{ static TFSet ValExpect=TFSet()|syIdStr|syFlt|syQStr|syLBracket|syLBrace|syRBracket; PJsonVal Val=TJsonVal::New(); if ((Lx.Sym==syIdStr)&&(Lx.Str=="null")){ Val->PutNull(); Lx.GetSym(); } else if ((Lx.Sym==syIdStr)&&(Lx.Str=="true")){ Val->PutBool(true); Lx.GetSym(); } else if ((Lx.Sym==syIdStr)&&(Lx.Str=="false")){ Val->PutBool(false); Lx.GetSym(); } else if (Lx.Sym==syFlt){ Val->PutNum(Lx.Flt); Lx.GetSym(); } else if (Lx.Sym==syQStr){ Val->PutStr(Lx.Str); Lx.GetSym(); } else if (Lx.Sym==syLBracket){ Val->PutArr(); Lx.GetSym(ValExpect); // added ValExpect to correctyl parse arrays of floats if (Lx.Sym!=syRBracket){ forever{ PJsonVal SubVal=TJsonVal::GetValFromLx(Lx); Val->AddToArr(SubVal); if (Lx.Sym==syComma){Lx.GetSym(ValExpect);} else if (Lx.Sym==syRBracket){break;} else {TExcept::Throw("JSON Array not properly formed.");} } } Lx.GetSym(); } else if (Lx.Sym==syLBrace){ Val->PutObj(); Lx.GetSym(TFSet()|syRBrace|syQStr); if (Lx.Sym!=syRBrace){ forever{ TStr SubKey=Lx.Str; Lx.GetSym(syColon); Lx.GetSym(ValExpect); PJsonVal SubVal=TJsonVal::GetValFromLx(Lx); Val->AddToObj(SubKey, SubVal); if (Lx.Sym==syComma){Lx.GetSym(TFSet()|syQStr);} else if (Lx.Sym==syRBrace){break;} else {TExcept::Throw("JSON Object not properly formed.");} } } Lx.GetSym(); } else { TExcept::Throw("Unexpected JSON symbol."); } return Val; }
PJsonVal TJsonVal::GetValFromSIn | ( | const PSIn & | SIn | ) | [static] |
Definition at line 166 of file json.cpp.
References TILx::GetSym(), GetValFromLx(), iloCmtAlw, iloCsSens, iloExcept, iloSigNum, New(), syLBrace, and syLBracket.
Referenced by GetValFromStr().
{ TILx Lx(SIn, TFSet()|iloCmtAlw|iloCsSens|iloExcept|iloSigNum); PJsonVal Val; //bool Ok=true; TStr MsgStr="Ok"; try { Lx.GetSym(TFSet()|syLBracket|syLBrace); Val=GetValFromLx(Lx); } catch (PExcept Except){ //Ok=false; MsgStr=Except->GetMsgStr(); Val=TJsonVal::New(); } return Val; }
PJsonVal TJsonVal::GetValFromStr | ( | const TStr & | JsonStr | ) | [static] |
Definition at line 183 of file json.cpp.
References GetValFromSIn(), and New().
{ PSIn SIn=TStrIn::New(JsonStr); return GetValFromSIn(SIn); }
bool TJsonVal::IsArr | ( | ) | const [inline] |
bool TJsonVal::IsBool | ( | ) | const [inline] |
bool TJsonVal::IsDef | ( | ) | const [inline] |
bool TJsonVal::IsNull | ( | ) | const [inline] |
bool TJsonVal::IsNum | ( | ) | const [inline] |
bool TJsonVal::IsObj | ( | ) | const [inline] |
Definition at line 80 of file json.h.
References jvtObj.
Referenced by GetObjBool(), GetObjKey(), GetObjNum(), and GetObjStr().
{return JsonValType==jvtObj;}
bool TJsonVal::IsObjKey | ( | const TStr & | Key | ) | const [inline] |
Definition at line 91 of file json.h.
References EAssert.
Referenced by GetObjBool(), GetObjKey(), GetObjNum(), and GetObjStr().
bool TJsonVal::IsObjKey | ( | const char * | Key | ) | const [inline] |
bool TJsonVal::IsStr | ( | ) | const [inline] |
static PJsonVal TJsonVal::Load | ( | TSIn & | SIn | ) | [inline, static] |
static PJsonVal TJsonVal::New | ( | ) | [inline, static] |
Definition at line 20 of file json.h.
Referenced by GetValFromLx(), GetValFromSIn(), GetValFromStr(), NewArr(), NewBool(), NewNull(), NewNum(), NewObj(), and NewStr().
{ return new TJsonVal();}
static PJsonVal TJsonVal::NewArr | ( | ) | [inline, static] |
PJsonVal TJsonVal::NewArr | ( | const TJsonValV & | ValV | ) | [static] |
Definition at line 39 of file json.cpp.
References TVec< TVal, TSizeTy >::Len(), and NewArr().
{ PJsonVal Val = TJsonVal::NewArr(); for (int ValN = 0; ValN < ValV.Len(); ValN++) { Val->AddToArr(ValV[ValN]); } return Val; }
PJsonVal TJsonVal::NewArr | ( | const TIntV & | IntV | ) | [static] |
Definition at line 47 of file json.cpp.
References TVec< TVal, TSizeTy >::Len(), NewArr(), and NewNum().
{ PJsonVal Val = TJsonVal::NewArr(); for (int IntN = 0; IntN < IntV.Len(); IntN++) { Val->AddToArr(TJsonVal::NewNum((double)IntV[IntN])); } return Val; }
PJsonVal TJsonVal::NewArr | ( | const TFltV & | FltV | ) | [static] |
Definition at line 55 of file json.cpp.
References TVec< TVal, TSizeTy >::Len(), NewArr(), and NewNum().
{ PJsonVal Val = TJsonVal::NewArr(); for (int FltN = 0; FltN < FltV.Len(); FltN++) { Val->AddToArr(TJsonVal::NewNum(FltV[FltN])); } return Val; }
PJsonVal TJsonVal::NewArr | ( | const TStrV & | StrV | ) | [static] |
Definition at line 63 of file json.cpp.
References TVec< TVal, TSizeTy >::Len(), NewArr(), and NewStr().
{ PJsonVal Val = TJsonVal::NewArr(); for (int StrN = 0; StrN < StrV.Len(); StrN++) { Val->AddToArr(TJsonVal::NewStr(StrV[StrN])); } return Val; }
PJsonVal TJsonVal::NewArr | ( | const TFltPr & | FltPr | ) | [static] |
Definition at line 71 of file json.cpp.
References NewArr(), NewNum(), TPair< TVal1, TVal2 >::Val1, and TPair< TVal1, TVal2 >::Val2.
{ PJsonVal Val = TJsonVal::NewArr(); Val->AddToArr(TJsonVal::NewNum(FltPr.Val1)); Val->AddToArr(TJsonVal::NewNum(FltPr.Val2)); return Val; }
static PJsonVal TJsonVal::NewBool | ( | const bool & | Bool | ) | [inline, static] |
static PJsonVal TJsonVal::NewNull | ( | ) | [inline, static] |
Definition at line 50 of file json.h.
References New().
{ PJsonVal Val = TJsonVal::New(); Val->PutNull(); return Val; }
static PJsonVal TJsonVal::NewNum | ( | const double & | Num | ) | [inline, static] |
static PJsonVal TJsonVal::NewObj | ( | ) | [inline, static] |
Definition at line 60 of file json.h.
References New().
{ PJsonVal Val = TJsonVal::New(); Val->PutObj(); return Val; }
static PJsonVal TJsonVal::NewObj | ( | const TStr & | KeyNm, |
const PJsonVal & | ObjVal | ||
) | [inline, static] |
Definition at line 61 of file json.h.
References New().
{ PJsonVal Val = TJsonVal::New(); Val->PutObj(); Val->AddToObj(KeyNm, ObjVal); return Val; }
static PJsonVal TJsonVal::NewObj | ( | const TStr & | KeyNm, |
const int & | ObjVal | ||
) | [inline, static] |
Definition at line 63 of file json.h.
References New().
{ PJsonVal Val = TJsonVal::New(); Val->PutObj(); Val->AddToObj(KeyNm, ObjVal); return Val; }
static PJsonVal TJsonVal::NewObj | ( | const TStr & | KeyNm, |
const double & | ObjVal | ||
) | [inline, static] |
Definition at line 65 of file json.h.
References New().
{ PJsonVal Val = TJsonVal::New(); Val->PutObj(); Val->AddToObj(KeyNm, ObjVal); return Val; }
static PJsonVal TJsonVal::NewObj | ( | const TStr & | KeyNm, |
const TStr & | ObjVal | ||
) | [inline, static] |
Definition at line 67 of file json.h.
References New().
{ PJsonVal Val = TJsonVal::New(); Val->PutObj(); Val->AddToObj(KeyNm, ObjVal); return Val; }
static PJsonVal TJsonVal::NewObj | ( | const TStr & | KeyNm, |
const bool & | ObjVal | ||
) | [inline, static] |
Definition at line 69 of file json.h.
References New().
{ PJsonVal Val = TJsonVal::New(); Val->PutObj(); Val->AddToObj(KeyNm, ObjVal); return Val; }
static PJsonVal TJsonVal::NewStr | ( | const TStr & | Str | ) | [inline, static] |
bool TJsonVal::operator!= | ( | const TJsonVal & | JsonVal | ) | const |
bool TJsonVal::operator== | ( | const TJsonVal & | JsonVal | ) | const |
void TJsonVal::PutArr | ( | ) | [inline] |
void TJsonVal::PutBool | ( | const bool & | _Bool | ) | [inline] |
void TJsonVal::PutNull | ( | ) | [inline] |
void TJsonVal::PutNum | ( | const double & | _Num | ) | [inline] |
void TJsonVal::PutObj | ( | ) | [inline] |
void TJsonVal::PutStr | ( | const TStr & | _Str | ) | [inline] |
void TJsonVal::Save | ( | TSOut & | SOut | ) | const |
Definition at line 7 of file json.cpp.
References Bool, JsonValType, KeyValH, Num, THash< TKey, TDat, THashFunc >::Save(), TStr::Save(), TVec< TVal, TSizeTy >::Save(), TBool::Save(), TInt::Save(), TFlt::Save(), Str, and ValV.
{ TInt((int)JsonValType).Save(SOut); Bool.Save(SOut); Num.Save(SOut); Str.Save(SOut); ValV.Save(SOut); KeyValH.Save(SOut); }
Definition at line 14 of file json.cpp.
References GetStrFromVal().
{ return GetStrFromVal(this); }
TJsonVal::UndefCopyAssign | ( | TJsonVal | ) | [private] |
TBool TJsonVal::Bool [private] |
Definition at line 12 of file json.h.
Referenced by operator==(), and Save().
TCRef TJsonVal::CRef [private] |
TJsonValType TJsonVal::JsonValType [private] |
Definition at line 11 of file json.h.
Referenced by operator==(), and Save().
THash<TStr, PJsonVal> TJsonVal::KeyValH [private] |
Definition at line 16 of file json.h.
Referenced by GetObjBool(), GetObjKey(), GetObjNum(), GetObjStr(), operator==(), and Save().
TFlt TJsonVal::Num [private] |
Definition at line 13 of file json.h.
Referenced by operator==(), and Save().
TStr TJsonVal::Str [private] |
Definition at line 14 of file json.h.
Referenced by operator==(), and Save().
TJsonValV TJsonVal::ValV [private] |
Definition at line 15 of file json.h.
Referenced by operator==(), and Save().