2017-10-17 24 views
1

における値Iは、JSON形式は次の設定を期待が、縮小さアプリケーションを有する:上記JSONの設定でJSONの[NULL]を割り当て:: JsonCpp

<config-json> 
{ 
    "config" : { 
     "services" : { 
      "analytics" : { 
       "sensor" : [ 
       { 
        "name" : "ip-sensor", 
        "server-name" : ["ip-server1"], 
        "export-name" : "ip-export1", 
        "resource" : "/ipv4", 
        "bulk" : [null] // <-- Notice 
       } 
       ] 
      } 
     } 
    } 
} 
</config-json> 

を、アプリ"bulk"が常に[null]のように期待します。そして、それはアプリの見通しからの正しい予想です。

私の設定ジェネレータコードでは、Json::Valueを使用してJsonCppを使用してJSONオブジェクトを構築しています。

"bulk"ニーズは[null]することがあるので、次のように、私はそれを移入しています:

//Json::Value *json_obj //Getting passed as an arg 
(*json_obj)["config"]["services"]["analytics"]["sensor"][0]["bulk"] = Json::nullValue; 

しかし、私が得ることである:

"bulk":null // Notice the missing [] around null.

ので、設定は破棄されます。

は以下を達成するためにJsonCppにおける方法はあります:

"bulk" : [null] 

答えて

2

JSON中括弧は配列を表しているので、何を行っていることは、ヌルを含む配列です。

Json::Value jsonArray; 
jsonArray.append(Json::Value::null); 
(*json_obj)["config"]["services"]["analytics"]["sensor"][0][‌​"bulk"] = jsonArray; 
+0

「(* json_obj)[config」] ["services"] ["analytics"] ["sensor"] [0] [ "bulk"]。append(Json :: Value :: null); ' いいえ? –

関連する問題