java rest使用json向邮递员返回响应-语法错误:意外';S';

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

当使用postman时,我得到以下错误

语法错误:意外的'S'

尽管我的JSON字符串看起来不错。我看过类似的主题,通常是说给响应对象一个可以正确转换为JSON的实体。我已经用GSON解析了宠物列表

代码:


您的输出文本不是有效的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);
}