不使用JsonNode读取JSON值的解决方法可以使用Java的JSON库,比如Jackson或Gson。以下是使用Jackson库的示例代码:
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonReaderExample {
public static void main(String[] args) {
String json = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
try {
ObjectMapper objectMapper = new ObjectMapper();
// 从JSON字符串中解析为Java对象
Person person = objectMapper.readValue(json, Person.class);
System.out.println("Name: " + person.getName());
System.out.println("Age: " + person.getAge());
System.out.println("City: " + person.getCity());
} catch (Exception e) {
e.printStackTrace();
}
}
}
class Person {
private String name;
private int age;
private String city;
// 必须提供默认构造函数
public Person() {
}
// 提供getter和setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
}
这个示例中,我们使用Jackson库的ObjectMapper类来将JSON字符串解析为Java对象。我们首先定义了一个Person类,该类具有与JSON中相同的字段。然后使用ObjectMapper的readValue方法将JSON字符串转换为Person对象,然后可以使用getter方法获取每个字段的值。
如果你使用的是Gson库,可以按照类似的方式进行处理。