jsonCPPlibを使用してから2か月しか経っていません。配列内のオブジェクトを追加および削除しようとしています。さまざまなプラットフォームでさまざまなJSONライブラリを使用しましたが、JsonCPPを使用するのは非常に難しいと感じています。
これがJsonです:
{ "type": "Disc",
"media": "DVD",
"adapter": "DVDCodecs",
"transportControls" : [
{"Action":"Left", "ActionCode" : "1a"},
{"Action":"Right", "ActionCode" : "2a"},
{"Action":"Up", "ActionCode" : "1b"},
{"Action":"Down", "ActionCode" : "4c"},
{"Action":"Center", "ActionCode" : "5e"},
{"Action":"OK", "ActionCode" : "5a"},
{"Action":"SubTitles", "ActionCode" : "3b"},
{"Action":"SubTitlesLang", "ActionCode" : "7d"},
{"Action":"Audio", "ActionCode" : "7a"},
{"Action":"Angle", "ActionCode" : "6a"},
{"Action":"Next", "ActionCode" : "6c"},
{"Action":"Previous", "ActionCode" : "8b"},
{"Action":"DVDMenu", "ActionCode" : "8c"},
{"Action":"Search", "ActionCode" : "8d"},
{"Action":"Region", "ActionCode" : "3a"},
{"Action":"Display", "ActionCode" : "2e"},
{"Action":"RootMenu", "ActionCode" : "6b"},
{"Action":"FastForward", "ActionCode" : "81"},
{"Action":"Rewind", "ActionCode" : "8b"},
{"Action":"FrameForward", "ActionCode" : "8c"},
{"Action":"Parking"},
{"Action":"Seekable"}
]
}
私は、transportControls配列との間でobjectValueを追加および削除しようとしています。オブジェクトを追加するために、私はこれを行ってきました:
Json::Value addObj;
Json::Reader reader;
reader.parse("{\"Action\":\"BlueButton\", \"ActionCode\" : \"9a\"}", addObj );
root["transportControls"].append( addObj );
これはうまくいくようです。これを行うためのよりエレガントな方法があれば、私はそれを知りたいと思います。
私の問題は、追加した後にどのように削除するかです。オブジェクト内のすべてのメンバーを削除できますが、実際にはarrayValueマップからオブジェクトが削除されていないようです。
JsonCPPを使用して配列値からオブジェクト値を削除する「ベストプラクティス」の方法は何ですか?