我使用GSON库以这种方式解析消息:
RewriteRule ^/?q=content/([0-9]+) /?q=content/$1&nip=1
现在我需要用完全不同的表单解析另一条消息。消息是:
Message m = new Gson().fromJson(message, Message.class);
,而新格式为:
{foo: "aaa", bar: "bbb" }
如何区分这两种格式?
答案 0 :(得分:0)
你问的是GSon / Jackson不是这样设计的。您正在使用ObjectMapping API,它允许您将json转换为预定义的类。
如果您的例子:
AddUnit
Message m = new Gson().fromJson(message, Message.class);
应始终使用Message
和String foo
进行映射操作。
如果你知道你只有两个字符串值,但总是有不同的字段,请注意String bar
并创建通用灵活的jsonParser,它总是有2个字符串值。解析时,您将手动将其设置为适当的字段。
答案 1 :(得分:0)
创建一个包含4个字段的Message
课程:foo
,bar
,tag1
和tag2
。
如果foo
和bar
为空,那么您会收到第二种消息。如果tag1
和tag2
为空,那么您会收到第一种消息。