jsoncppの一般的な操作
本文は主にjsoncppを使用する際によく使われる操作を紹介する.
1 valueがnullであると判断
jsoncppのisNull()関数を用いて,jsonのvalueが空であるか否かを判断できる.関数は次のとおりです.
サンプルコード(json_check_null.cpp)は次のとおりです.
上記のコードをコンパイルして実行します.結果は次のとおりです.
上記の実行結果は、2つの問題を示しています. isNull()関数を使用して、jsonのvalueがnullであるか否かを判断することができる. jsonのあるフィールドでは、コードで使用されている限り、jsonをカプセル化する際にjsonコンテンツにカプセル化されます.たとえば、このコードの例のroot[「someone」]とroot[「sometwo」」では、コードには両者に値が付けられていませんが、両方を使用したことがある限り、jsonにカプセル化されます.
1 valueがnullであると判断
jsoncppのisNull()関数を用いて,jsonのvalueが空であるか否かを判断できる.関数は次のとおりです.
bool Json::Value::isNull () const
サンプルコード(json_check_null.cpp)は次のとおりです.
#include
#include
#include
using namespace std;
int main()
{
Json::Value root;
string strJsonMsg;
//
root["occupation"] = "paladin";
//
root["valid"] = true;
//
root["role_id"] = 1;
string strBuffer = root["someone"].asString();;
if (root["someone"].isNull())
{
cout << "someone is null!" << endl;
}
if (root["sometwo"].isNull())
{
cout << "sometwo is null!" << endl;
}
// json string
strJsonMsg = root.toStyledString();
cout<< "strJsonMsg is: " << strJsonMsg << endl;
return 0;
}
上記のコードをコンパイルして実行します.結果は次のとおりです.
上記の実行結果は、2つの問題を示しています.