pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.6.3</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
JsonParser
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.io.Charsets;
import org.apache.commons.io.IOUtils;
import org.springframework.core.io.ClassPathResource;
public class JsonParser {
public static void main(String[] args) {
try {
ClassPathResource classPathResource = new ClassPathResource("data.json");
String json = IOUtils.toString(classPathResource.getInputStream(), Charsets.toCharset("UTF-8"));
ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonArray = objectMapper.readTree(json);
parseJsonArray(jsonArray);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void parseJsonArray(JsonNode jsonArray) {
if (jsonArray.isArray()) {
for (JsonNode jsonNode : jsonArray) {
parseJsonNode(jsonNode);
}
}
}
private static void parseJsonNode(JsonNode jsonNode) {
if (jsonNode.isObject()) {
jsonNode.fields().forEachRemaining(entry -> {
String key = entry.getKey();
JsonNode value = entry.getValue();
if (value.isValueNode()) {
System.out.println(key + ": " + value.asText());
} else if (value.isArray() || value.isObject()) {
parseJsonNode(value);
}
});
}
}
}
data.json
[
{
"name": "姓名",
"value": "cnbai"
},
{
"name": "年龄",
"value": 99
}
]