请教一个gson转换的问题

rookie926 2010-12-24 08:57:12
String hql="from VdDicMedicine where c17='1'";
List<VdDicMedicine> list=dao.getList(hql);

Gson gson = new Gson();
List<medicineList> medList = new ArrayList<medicineList>();

for(int i=0;i<list.size();i++)
{
medicineList medBean = new medicineList();
medBean.setName(list.get(i).getC02());
medBean.setPinyin(list.get(i).getC03());
medBean.setPrice(list.get(i).getC19()+"");
medBean.setStock(list.get(i).getC20()+"");
medList.add(medBean);
}
java.lang.reflect.Type type = new com.google.gson.reflect.TypeToken<List<medicineList>>() {}.getType();

Map totalMap = new HashMap();

System.out.println(gson.toJson(medList,type));

totalMap.put("total",239);
totalMap.put("rows", gson.toJson(medList,type));

System.out.println(gson.toJson(totalMap));
response.setCharacterEncoding("gbk");
response.getWriter().print(gson.toJson(totalMap));初用gson发现挺方便的,想获取一个json形式的数据,但是如上这么写的话,输入出来是这样的:

{"total":239,"rows":"[{\"name\":\"青霉素\",\"pinyin\":\"QMS\",\"price\":\"4.19\"
,\"stock\":\"20.0\"},{\"name\":\"苯唑西林\",\"pinyin\":\"BZXL\",\"price\":\"16.1
9\",\"stock\":\"45.0\"},{\"name\":\"阿莫西林\",\"pinyin\":\"AMXL\",\"price\":\"2
65.33\",\"stock\":\"0.0\"},{\"name\":\"氨苄西林\",\"pinyin\":\"ABXL\",\"price\":
\"265.33\",\"stock\":\"0.0\"}]"}
{"total":239,"rows":"[{\"name\":\"青霉素\",\"pinyin\":\"QMS\",\"price\":\"4.19\"
,\"stock\":\"20.0\"},{\"name\":\"苯唑西林\",\"pinyin\":\"BZXL\",\"price\":\"16.1
9\",\"stock\":\"45.0\"},{\"name\":\"阿莫西林\",\"pinyin\":\"AMXL\",\"price\":\"2
65.33\",\"stock\":\"0.0\"},{\"name\":\"氨苄西林\",\"pinyin\":\"ABXL\",\"price\":
\"265.33\",\"stock\":\"0.0\"}]"}
多了很多的"\",而且"rows":后面的内容也不需要被双引号引起来,似乎是嵌套上出了问题,应该改哪里呢?

...全文
393 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
nb8724 2011-09-21
  • 打赏
  • 举报
回复
楼主,解决了吗?现在我也需要那个东西!
mjj_脩 2011-04-25
  • 打赏
  • 举报
回复
楼主,请问你的那个问题解决了吗????我也是那个问题,求解
xziblack 2011-01-07
  • 打赏
  • 举报
回复
没用过 !
lanapr 2011-01-07
  • 打赏
  • 举报
回复
我还以为楼主写错了。。我这是json 浪费楼主表情了。
lanapr 2011-01-07
  • 打赏
  • 举报
回复
上面的复制前面少个了{
rookie926 2010-12-27
  • 打赏
  • 举报
回复
还是没有解决,求大家继续帮忙
chenbb110 2010-12-24
  • 打赏
  • 举报
回复
GSON没用过
Jlins 2010-12-24
  • 打赏
  • 举报
回复
gson? 我还以为json呢...
rookie926 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zn85600301 的回复:]
没用过 gson
你可以下源码看一下 他拼的时候是不是有什么特殊的处理地方
拼json的工具类还是很多的
[/Quote]
嗯谢谢,正好同学推荐gson就用了下,还是想多研究一下搞明白这个问题
zn85600301 2010-12-24
  • 打赏
  • 举报
回复
没用过 gson
你可以下源码看一下 他拼的时候是不是有什么特殊的处理地方
拼json的工具类还是很多的

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧