问题很简单。一些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
这是技术细节。列表/向量或谓词选择是一个简单的次要目标。 –