問題很簡單。一些JSon
數據與服務器交換。 由於通信是相當複雜的,我需要日誌,複雜的信息成爲可能,看是否:使用jsoncpp時從JSon中去除私人數據的最佳方法
- 服務器發送這是由代碼
- JSON有錯字已於 發送
- ANS所以省略了新的價值
但是與此同時,任何私人數據都應該被虛擬數據所遮蔽。
所以不是看到日誌:
{
"secuityToken" : "asdasdgas234fsdfsaD",
"message" : "user private message"
}
這樣的事情應該可以看出:
{
"secuityToken" : "********",
"message" : "*******"
}
我的代碼是C++所以jsoncpp
正在使用中。我可以看到 最佳arproach是:
bool ProcessServerMessage(const std::string& message)
{
Json::Value jsonValue;
Json::Reader reader;
if (reader.parse(sMessage, jsonValue, false))
{
auto logValue = ShadowPrivateData(jsonValue, listOfKeysWithPrivateData);
LOG() << " JSOn recived: " << logValue;
…
}
問題如何ShadowPrivateData
應該是什麼樣子,是最通用的?
而不是'container_t listOfKeysWithPrivateData'對於'std :: function isKeyPrivate'(或該模板參數) –
Caleth
這是技術細節。列表/向量或謂詞選擇是一個簡單的次要目標。 –