考虑以下JSON:
{ "firstName": "John", "lastName": "Doe", "address": { "street": "21 2nd Street", "city": "New York", "postalCode": "10021-3100", "coordinates": { "latitude": 40.7250387, "longitude": -73.9932568 } }}并考虑将
coordinates节点解析为以下Java类:
public class Coordinates { private Double latitude; private Double longitude; // Default constructor, getters and setters omitted}要做到这一点,分析整个JSON成
JsonNode具有
ObjectMapper:
String json = "{"firstName":"John","lastName":"Doe","address":{"street":" + ""21 2nd Street","city":"New York","postalCode":"10021-3100"," + ""coordinates":{"latitude":40.7250387,"longitude":-73.9932568}}}";ObjectMapper mapper = new ObjectMapper();JsonNode node = mapper.readTree(json);然后使用JSON指针查询
coordinates节点并将
ObjectMapper其解析为
Coordinates该类:
JsonNode coordinatesNode = node.at("/address/coordinates");Coordinates coordinates = mapper.treeToValue(coordinatesNode, Coordinates.class);JSON指针是遍历JSON的路径语言。有关更多详细信息,请检查RFC
6901。从2.3版开始,它就可以在Jackson中使用。



