作为Spring MVC应用程序的开发人员,我必须使用大量基于JSON的RESTful WebServices。我们使用RestTemplate并且它很棒,但我在这类事情中看到的所有教程都涉及编写POJO以模仿请求和响应,包括其所有嵌套对象。这是一个繁琐的过程,我想知道有什么替代方案。
我目前的工作流程是从第三方REST提供商的文档中获取JSON示例并将其插入到jsonSchema2Pojo(http://www.jsonschema2pojo.org/)这样的网站中,该网站可以正常工作,尽管它只能与第三方文档一样有效(经常很糟糕!)。
答案 0 :(得分:3)
为每个请求/响应创建POJO的替代方法是使用像Jackson这样的JSON库,并使用通用的JSON数据结构(例如 JsonNode
)。这里有一个例子:RestTemplate and acessing json
结果是您必须访问JSON,就好像它是一组键/值对(其中一些键包含其他键/值对)。
答案 1 :(得分:1)
除了pojo和JsonNode,Chris提到,你总是可以将JSON响应序列化为Map<Object, Object>
或使用Gson及其JsonObject,其工作方式类似于JsonNode。
JsonNode和JsonObject有一个Map<Object, Object>
没有的东西是它们可以让你轻松地从JSON中提取各种类型的公共数据类型。