Gson 只能从 JSON 中正确解析一个对象?
Gson only parsing one object correctly from JSON?
我有以下 JSON:
{
"Person": {
"id": "1",
"name": "sampleName"
},
"PersonCalender ": {
"start": "2017-01-25T19:00:00+0100",
"End": "2019-05-10T19:00:00+0100"
}
}
这是它对应的Java
对象(包含2个对象):
public class PersonRequest {
private Person person;
private PersonCalender personCalender;
//getters and setters
}
下面显示了我如何尝试 parse
对象,但是只有 Person 对象被正确解析。
是我弄错了还是我的 JSON
无法使用 Gson
解析到此对象中?
Gson 解析:
PersonRequest personRequest = new PersonRequest();
try {
InputStream is = PersonTest.class.getResourceAsStream("/my/path/personRequest.json");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is));
Gson gson = new Gson();
personRequest = gson.fromJson(bufferedReader, PersonRequest.class);
} catch (Exception e) {
logger.logMessage("Exception: " + e);
}
你这里有两个错误。 1 - space 在 PersonCalender
之后,2- PersonCalender
中的第一个字母应该是小写的(根据你的 java 代码)
我有以下 JSON:
{
"Person": {
"id": "1",
"name": "sampleName"
},
"PersonCalender ": {
"start": "2017-01-25T19:00:00+0100",
"End": "2019-05-10T19:00:00+0100"
}
}
这是它对应的Java
对象(包含2个对象):
public class PersonRequest {
private Person person;
private PersonCalender personCalender;
//getters and setters
}
下面显示了我如何尝试 parse
对象,但是只有 Person 对象被正确解析。
是我弄错了还是我的 JSON
无法使用 Gson
解析到此对象中?
Gson 解析:
PersonRequest personRequest = new PersonRequest();
try {
InputStream is = PersonTest.class.getResourceAsStream("/my/path/personRequest.json");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is));
Gson gson = new Gson();
personRequest = gson.fromJson(bufferedReader, PersonRequest.class);
} catch (Exception e) {
logger.logMessage("Exception: " + e);
}
你这里有两个错误。 1 - space 在 PersonCalender
之后,2- PersonCalender
中的第一个字母应该是小写的(根据你的 java 代码)