jsoncppを使ってみた
C++でjsonを扱うコードをろくに書いたことがなくて知識的に不安だったので、ぐーぐる先生で調べて出てきたjsoncppというossを使ってjsonのファイルをパースして表示してみました。 github.com
内容
test.json
{"name" : "nemumitakamaru","email" : "nemumitakamaru@gmail.com","number":1}
#include <iostream> #include <fstream> #include <string> #include <json/json.h> using namespace std; int main() { // ファイルの読み込み ifstream infile; infile.open("test.json"); if(!infile) { exit(1); } string testJson; getline(infile, testJson); infile.close(); // jsonをパース Json::Reader reader; Json::Value value; reader.parse(testJson, value); // 表示 cout << value["name"].asString() << endl; cout << value["email"].asString() << endl; cout << value["number"] << endl; return 0; }
出力結果
nemumitakamaru nemumitakamaru@gmail.com 1
という感じでコードでjsoncppを使う分には簡単にできました。
それ以前の問題で、libファイルを作って、VS2015でincludeのパスを通して、libを登録してビルドするという段階で知識がなくて苦戦しました。それに関しては調査してまたブログにまとめようと思います。
あと、基本的なファイルストリームのifstreamの使い方をよく分かっていないことも分かったので、それもまた今度調査してみようと思います。
ファイル読み込みに失敗しているかを判定するために、infile.bad()
やinfile.fail()
等色々あるっぽいです。