jsoncppの一般的な操作

1671 ワード

本文は主にjsoncppを使用する際によく使われる操作を紹介する.
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;
}



上記のコードをコンパイルして実行します.結果は次のとおりです.
jsoncpp常见操作_第1张图片
上記の実行結果は、2つの問題を示しています.
  • isNull()関数を使用して、jsonのvalueがnullであるか否かを判断することができる.
  • jsonのあるフィールドでは、コードで使用されている限り、jsonをカプセル化する際にjsonコンテンツにカプセル化されます.たとえば、このコードの例のroot[「someone」]とroot[「sometwo」」では、コードには両者に値が付けられていませんが、両方を使用したことがある限り、jsonにカプセル化されます.

  •