JSON形式プロファイル
1310 ワード
最近、印刷注文書をフォーマットする項目を書いて、構成に使って、比較的軽量で、ちょうどプログラムが処理するデータはjsonフォーマットで、そこでついでにlibjsoncppで1つのプロファイルの解析をしました.
libjsoncppのダウンロードアドレス
また、プロジェクト全体をソースファイルで直接プロジェクトに追加することができ、プラットフォームをまたいで行うのがいいです.
Makefile
プロファイルconfig.json
マスタパートコード
libjsoncppのダウンロードアドレス
また、プロジェクト全体をソースファイルで直接プロジェクトに追加することができ、プラットフォームをまたいで行うのがいいです.
Makefile
all:
g++ -static -o ./bin/jsonformat -g -O0 -I./libjsoncpp/include -I./libjsoncpp/src jsonformat.cpp \
libjsoncpp/src/json_reader.cpp \
libjsoncpp/src/json_writer.cpp \
libjsoncpp/src/json_value.cpp
プロファイルconfig.json
{
"order":{
"header": " "
},
"usbprint":{
"printer": "Generic / Text Only"
}
}
マスタパートコード
#include <json/json.h>
void GetOrderHeader(const std::string & configpath, std::string & header)
{
std::ifstream myfile (configpath.c_str());
Json::Value root; Json::Reader reader;
if (reader.parse(myfile, root, false)){
header = root["order"].get("header", "").asString();
}
return ;
}
int main(int argc, char * argv[])
{
enum {MaxLineLen = 4000};
std::string szHeader = "";
char szPath [MaxLineLen] = "config.json";
GetOrderHeader(szPath, szHeader); if (szHeader.empty()) return -2;
return 0;
}