我使用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);
答案 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();
}