content = {
"arr": [
{
"name": "a",
"timestamp": 123,
"value": 100
},
{
"name": "b",
"timestamp": 321,
"value": 200
}
],
"str": "some-string"
}
String content = "/* input JSON string */"
ObjectMapper objectMapper = new ObjectMapper();
JsonNode root = objectMapper.readTree(content);
String token = root.get("str").asText();
int a = root.get("arr").size();
ArrayNode metrics = (ArrayNode) root.get("arr");
for (JsonNode metric : metrics) {
((ObjectNode) metric).put("name", "newName");
int value = metric.get("value").asInt();
long time = metric.get("timestamp").asLong;
}
参考:
https://github.com/FasterXML/jackson
http://fasterxml.github.io/jackson-databind/javadoc/2.8/