前言
python 中有很方便的 type() 功能使我們能直接知道資料的格式,
但 C++ 當中沒有這種方便的功能。
但我們可以透過 rapidjson 內建的方式,嘗試取得在 json 檔案內的文件類型。
使用方法
透過 rapidjson 範例中已經定義好的文件類型,我們可以進行檔案格式的解析。
定義名稱
我們先定義名稱:
static const char* kTypeNames[] =
{ "Null", "False", "True", "Object", "Array", "String", "Number" };
取用類別
然後當我們想要取用類別名稱的時候,可以使用「.GetType()」取得類別名稱,
另外結合剛剛我們先定義好的名稱類型,「kTypeNames[data.GetType()]」 即可取得類別名稱。
cout << kTypeNames[document["key"].GetType()] << endl;
註:如果直接使用「.GetType()」,會取得對應的位置,還需要結合 「kTypeNames[]」,才能取得看得懂的資料類別名稱。