如何在java中将嵌套的inputStream解析为JSON?
我有一个对象,它包含内容inputStream对象和该对象的列表,我试图通过JSON将其解析到客户端,但我不知道如何解析 对象:如何在java中将嵌套的inputStream解析为JSON?,java,json,Java,Json,我有一个对象,它包含内容inputStream对象和该对象的列表,我试图通过JSON将其解析到客户端,但我不知道如何解析 对象: public product(int id, int type, float price, float length, String color, InputStream img){ this.id = id; this.price = price; ...} 我想做的是: List<Product> list = db.
public product(int id, int type, float price, float length, String color, InputStream img){
this.id = id; this.price = price; ...}
我想做的是:
List<Product> list = db.getProducts();
String json = "";
if( list.size() > 0)
{
json = new Gson().toJson(list);
System.out.println("product servlet >> " + list);
}
response.getWriter().write(json);
break;
List List=db.getProducts();
字符串json=“”;
如果(list.size()>0)
{
json=new Gson().toJson(列表);
System.out.println(“产品servlet>>”+列表);
}
response.getWriter().write(json);
打破
问题在于json=new Gson.toJson(list)行中,它无法获取InputStream对象为什么
img
是InputStream
而不是字节[]
?显然,您并不担心图像对于可用内存来说可能太大,因此请坚持使用byte[]
。当然,您需要使用适配器将其序列化,例如Base-64,但在web上有很多示例,这很容易。因为我认为当您从db读取blob时,您需要使用InputStream,我错了吗?好的,我将尝试使用byte[],您可以在读取blob时使用InputStream
或byte[]
。您选择哪一种主要取决于大小,例如,10 GB 4K电影可能无法放入内存,但4 MB JPEG图像正好适合。