java rest使用json向邮递员返回响应-语法错误:意外';S';
当使用postman时,我得到以下错误 语法错误:意外的'S' 尽管我的JSON字符串看起来不错。我看过类似的主题,通常是说给响应对象一个可以正确转换为JSON的实体。我已经用GSON解析了宠物列表 代码:java rest使用json向邮递员返回响应-语法错误:意外';S';,java,json,rest,postman,Java,Json,Rest,Postman,当使用postman时,我得到以下错误 语法错误:意外的'S' 尽管我的JSON字符串看起来不错。我看过类似的主题,通常是说给响应对象一个可以正确转换为JSON的实体。我已经用GSON解析了宠物列表 代码: 您的输出文本不是有效的JSON。问题在于如何序列化列表 我相信这应该足以为您的JSON库提供完整的列表: public String getJsonFromPets(List<Pet> pets) { return gson.toJson(pets); } 公共字符串g
您的输出文本不是有效的JSON。问题在于如何序列化列表 我相信这应该足以为您的JSON库提供完整的列表:
public String getJsonFromPets(List<Pet> pets) {
return gson.toJson(pets);
}
公共字符串getJsonFromPets(列出宠物){
返回gson.toJson(pets);
}
这意味着您的回复没有按预期发送。框架中可能存在异常,导致发送一些错误内容。你能检查一下“原始”响应是什么样子吗?我已经编辑了我的问题,底部的json是原始响应:)哦,是的,它不是有效的json。多个对象没有包含在父对象(对象或数组)中,它们甚至没有用逗号分隔。我将在5分钟内接受答案,谢谢您的时间。有效:)@JonasGrønbek最好的答案可能还在路上:-),慢慢来
public class JSONConverter {
static Gson gson = new GsonBuilder().setPrettyPrinting().create();
public String getJsonFromPets(List<Pet> pets) {
String petsString = "";
for (Pet pet : pets) {
petsString += gson.toJson(pet) + " ";
}
return petsString;
}
}
{
"id": 1,
"name": "Fiddo",
"birth": "2015-02-01",
"species": "Dog",
"owner_id": 1,
"events": []
} {
"id": 2,
"name": "Hannibal",
"birth": "2013-05-10",
"species": "Dog",
"owner_id": 1,
"events": []
} {
"id": 3,
"name": "Elvis",
"birth": "2010-08-08",
"species": "Cat",
"owner_id": 3,
"events": []
} {
"id": 4,
"name": "Sam",
"birth": "2012-01-05",
"species": "Rabbit",
"death": "2015-07-07",
"owner_id": 2,
"events": []
}
public String getJsonFromPets(List<Pet> pets) {
return gson.toJson(pets);
}