将字符串数组的json对象映射到java类
我正在尝试将字符串数组的json对象映射到java类 json: 要将json映射到的java类: json映射方法: 例外情况是:将字符串数组的json对象映射到java类,java,json,Java,Json,我正在尝试将字符串数组的json对象映射到java类 json: 要将json映射到的java类: json映射方法: 例外情况是: 关闭旧的无效json post数据的浏览器缓存。您还需要提供库存度量类源代码。当我将库存度量更改为:import java.util.List;public class Inventory_Metrics{public List SKU;public List Desc;public Inventory_Metrics()?这个错误似乎表明整个JSON是以[开始的
关闭旧的无效json post数据的浏览器缓存。您还需要提供库存度量类源代码。当我将库存度量更改为:import java.util.List;public class Inventory_Metrics{public List SKU;public List Desc;public Inventory_Metrics()?这个错误似乎表明整个JSON是以
[
开始的。是的{“SKU”:[“A”、“B”、“C”],“Desc”:[“Milk”、“Bread”、“Jam”]}结果有效的JSONSolved-谢谢。我是通过浏览器而不是curl发布的,它正在缓存一个无效的JSON字符串。
{ "SKU": ["A", "B", "C"], "Desc": ["Milk", "Bread", "Jam"] }
public class Inventory_Metrics {
public String[] SKU;
public String[] Desc;
}
@Path("/post")
@POST
@Consumes({MediaType.APPLICATION_FORM_URLENCODED, MediaType.APPLICATION_JSON})
@Produces(MediaType.APPLICATION_JSON)
public Response addInventory(String json) throws JsonParseException, JsonMappingException, IOException {
ObjectMapper mapper = new ObjectMapper();
Inventory_Metrics inv_met = mapper.readValue(json, Inventory_Metrics.class);
System.out.print(inv_met.SKU[0]);
return Response.ok().build();
}
SEVERE: Servlet.service() for servlet [Jersey REST Service] in context with path [/api] threw exception [org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of com.mycode.database.mapping.Inventory_Metrics out of START_ARRAY token
at [Source: java.io.StringReader@182856b6; line: 1, column: 1]] with root cause
org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of com.mycode.database.mapping.Inventory_Metrics out of START_ARRAY token
at [Source: java.io.StringReader@182856b6; line: 1, column: 1]