我无法复制您的异常,但我确实看到在Java类和JSON对象中命名约定问题。您没有遵循camel大小写,这肯定会导致不正确的字段映射,因此会导致与您所面对的解析异常不同的解析异常。
我刚刚对JSON字符串&dbconfig类进行了这些更改,并且成功地运行了代码。
class DatabaseConfiguration {
String name;
String value;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
String testJson = "[{\"name\":\"driverclass\",\"value\":\"com.mysql.jdbc.Driver\"},{\"name\":\"password\",\"value\":\"abc\"},{\"name\":\"url\",\"value\":\"jdbc:mysql://localhost:3306/test?autoReconnect=true&useSSL=false\"},{\"name\":\"username\",\"value\":\"abc\"}]";
[
{
"name":"driverclass",
"value":"com.mysql.jdbc.Driver"
},
{
"name":"password",
"value":"abc"
},
{
"name":"url",
"value":"jdbc:mysql://localhost:3306/test?autoReconnect=true&useSSL=false"
},
{
"name":"username",
"value":"abc"
}
]
您的命令行json输入字符串应该如下所示,用双引号括起来:
"[ { \"Name\": \"jdbc.connection.driver_class\", \"Value\": \"com.mysql.jdbc.Driver\" }, { \"Name\": \"password\", \"Value\": \"abc\" }, { \"Name\": \"url\", \"Value\": \"jdbc:mysql://localhost:3306/test?autoReconnect=true&useSSL=false\" }, { \"Name\": \"username\", \"Value\": \"abc\" } ]"