Gson畸形json

时间:2015-05-20 22:48:14

标签: java android json gson

我使用Gson将我的回复转换为其模型。当我复制json的内容并手动将其粘贴到String时,它就完美了。

喜欢

String result = "...";

当我将响应直接传递给Gson时,我得到以下异常:

  

引起:com.google.gson.stream.MalformedJsonException:第1行第501行的未终止字符串$ .contact.picture.links [0] .href

这是我的json: json requested file

JSON:

  

{“id”:22798,“created_at”:“2015-05-19T19:31:56 + 02:00”,
  “updated_at”:“2015-05-21T00:03:15 + 02:00”,“标题”:“标题   慈善“,”“描述”:“”,“tax_deductible”:真实,
  “donations_prohibited”:false,“closed_at”:null,“donor_count”:   0,“donated_amount_in_cents”:0,“requested_amount_in_cents”:   50000,“progress_percentage”:null,“contact”:{       “名字”:“R。Kocyigit”,       “图片”:{         “链接”:[           {             “rel”:“fill_100x100”,             “href”:“https://asset1.betterplace.org/uploads/user/profile_picture/000/448/689/fill_100x100_xing-profile-photo.jpg”           },           {             “rel”:“原创”,             “href”:“https://asset1.betterplace.org/uploads/user/profile_picture/000/448/689/crop_original_xing-profile-photo.jpg”           }         ]       },

我的代码:

Gson gson = new Gson();
Model model = gson.fromJson(response, Model.class);

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。正是在通过网络将流转换为String时。

当我使用BufferedReader转换为String时,Gson运行良好。

BufferedReader reader = null;
try {
    reader = new BufferedReader(new InputStreamReader(stream));
    StringBuffer buffer = new StringBuffer();
    int read;
    char[] chars = new char[1024];
    while ((read = reader.read(chars)) != -1)
        buffer.append(chars, 0, read);

    return buffer.toString();
} finally {
    if (reader != null)
        reader.close();
}