43 lines
1.3 KiB
C
43 lines
1.3 KiB
C
|
#pragma once
|
|||
|
#include "pub.h"
|
|||
|
|
|||
|
class Json
|
|||
|
{
|
|||
|
private:
|
|||
|
int type = 0;//1<>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD>飬3<E9A3AC><33><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD>ֻ<D6BB><F2B2BCB6><EFBFBD>null
|
|||
|
std::map<CString, Json> valueMap; //<2F><><EFBFBD><EFBFBD>json<6F><6E><EFBFBD><EFBFBD>
|
|||
|
std::map<CString, Json>::iterator CurrIter;
|
|||
|
std::vector<Json> valueVector; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
CString value = _T(""); //ֵ
|
|||
|
int insertObj(const CString JsonStr, Json& json); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int insertArr(const CString JsonStr, Json& json); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int insertNum(CString str, Json& json); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int GetValue(CString jsonStr, int Begin, CString& value);
|
|||
|
public:
|
|||
|
~Json();
|
|||
|
int parse(CStringA str); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int parse(CStringW JsonStr); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
Json& operator[] (int JsonInt);
|
|||
|
Json& operator[] (CStringW JsonStr);
|
|||
|
Json& operator[] (CStringA JsonStr);
|
|||
|
void operator= (int Json);
|
|||
|
void operator= (CStringA JsonStr);
|
|||
|
void operator= (CStringW JsonStr);
|
|||
|
void operator= (Json JsonInt);
|
|||
|
void append(Json Json);
|
|||
|
void clear();
|
|||
|
void RemoveAt(CStringA Item);
|
|||
|
void RemoveAt(CString Item);
|
|||
|
void RemoveAt(INT Index);
|
|||
|
CStringA asCStringA();
|
|||
|
CString asCString();
|
|||
|
int asInt();
|
|||
|
double asDouble();
|
|||
|
UINT Size(); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MAP<41>ĸ<EFBFBD><C4B8><EFBFBD>
|
|||
|
std::map<CString, Json>::iterator getBegin();
|
|||
|
std::map<CString, Json>::iterator getEnd();
|
|||
|
std::map<CString, Json>::iterator Find(CString key);
|
|||
|
CStringW writeCString(); //<2F><>json<6F><6E><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>CString
|
|||
|
CStringA write(); //<2F><>json<6F><6E><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>String
|
|||
|
};
|