我有一段 json 字符串,我想提取特定字段,并且该字段存在我想将其反序列化为特定类型(类)。
到目前为止,我已经尝试过使用 ObjectMapper,但它的问题在于它设计为以将输入 json 值映射到指定类类型的方式工作。在我的情况下,我需要从 json 字符串中取出特定字段并将它们反序列化为对象。
接下来,我尝试了 JsonParser,它提供了更多选项,因为我可以逐个字段迭代 json 字段并为每个字段调用“readValueAs”方法。这对我来说几乎是完美的,我的问题是我不想逐个字段地遍历 json,我想动态地告诉解析器要解析哪个字段,然后才将其反序列化为一个对象。
这是我想要实现的示例:
说我有这个 json{ "name" : "Bob", "age" : 21, "status" : false }
我只想提取“名称”的值(Bob),然后将其反序列化为 java.lang.String
我怎样才能做到这一点??
编辑:我尝试更好地描述我的流程:当应用程序第一次加载时,我使用反射读取特定方法的参数,稍后当应用程序收到 json 消息时,我想以 json 中的每个键的方式解析消息对应于方法的一个参数。所以我需要将 json 中的键值反序列化为与该参数匹配的对象。
如果你知道 JAVA-8 中的反射机制,你可以像在代码中写的那样得到参数的类型和名称!
希望这能让它更清楚....不确定:-)