我想解析大约5-10种不同的消息类型,它们共享公共格式(例如JSON ),但是每个消息类型都有需要验证的特定字段。每个消息最终应该被解析成一个自定义的类/结构,其类型不需要任何类型的转换(例如,字段是int而不是变量/元组)。我看到了解决这个问题的两种方法:
我认为这两种方法各有优缺点:
1名专业人员:
1的缺点:
赞成2:
2的缺点:
哪种方法更好?是否有第三种方法使用一种语法将其解析为多个类型?
下面是一些示例消息和它们最终应该驻留在其中的类:
{"messageType": "messageTypeA", "numberParam": 1}
{"messageType": "messageTypeB", "stringParam": "Test"}
class MessageTypeA
{
public:
double numberParam;
};
class MessageTypeB
{
public:
std::string stringParam;
};发布于 2015-02-25 02:52:01
我认为这个问题与最近的一个答案非常接近,我正是这样做的:我回答了两个问题:
我投票赞成第一种选择,因为
即使是相关问题中的任择议定书,似乎也需要我的第一个答案所提供的灵活性:
哦,好吧。我很惊讶您当时接受了这个答案,因为另一个答案做的完全一样,除了它接受和忽略“其他”JSON内容。您错过了定义
extract_from__的更新吗?它使用完全相同的数据结构--你在问题中建议的那种。– sehe Jan 4 at 16:41
https://stackoverflow.com/questions/28708501
复制相似问题