【C++】C++ rapidjson 取得檔案類型的方法 (內含範例程式碼) sample code

前言

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[]」,才能取得看得懂的資料類別名稱。

Reference