【问题标题】:Gson only parsing one object correctly from JSON?Gson 只从 JSON 中正确解析一个对象?
【发布时间】:2017-10-31 04:30:57
【问题描述】:

我有以下 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);
        }

【问题讨论】:

  • 在您的 JSON 中 PersonCalender 之后有一个空格 - 这可能会被丢弃。 (另外,日历ar :p)

标签: java json parsing gson inputstream


【解决方案1】:

这里有两个错误。 1 - PersonCalender 后的空格,2- PersonCalender 中的第一个字母应为小写(根据您的 java 代码)

【讨论】:

    猜你喜欢
    • 2013-10-14
    • 1970-01-01
    • 1970-01-01
    • 2023-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多