为了账号安全,请及时绑定邮箱和手机立即绑定

组装json对象的问题

组装json对象的问题

慕娘9325324 2019-03-13 09:15:05
查询数据库有如下的查询结果name id remark time data type contain张三 1 测试 2016 数据1 test1 1张三 1 测试 2016 数据2 test2 1张三 1 测试 2016 数据3 test3 1张三 1 测试 2016 数据4 test4 1李四 2 测试2 2016 数据99 test66 0李四 2 测试2 2016 数据98 test66 0......现在我想处理数据,形成如下格式[{name:张三,remark:测试,time:2016,display:[{data:数据1,type:test1},{data:数据2,type:test2},{data:数据3,type:test3},{data:数据4,type:test4}]},{name:李四,remark:测试2,time:2016,display:[{data:数据99,type:test66},[{data:数据98,type:test66}]}]需要一个比较方便的方法,手动拼接就算了,感谢。[  {    name: 张三,remark:测试,time:2016,display: [      {        data: 数据1,type: test1      },      {        data: 数据2,type: test2      },      {        data: 数据3,type: test3      },      {        data: 数据4,type: test4      }    ]  },  {    name: 李四,remark:测试2,time:2016,display: [      {        data: 数据99,type: test66      },      [        {          data: 数据98,type: test66        }      ]    }  ]想到用hashmap,不过没实现,请教各位指点下
查看完整描述

8 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

生成 JSON 的 Java 库很多,比如 fastjson (oschina介绍页面)


查看完整回答
反对 回复 2019-04-25
?
ibeautiful

TA贡献1993条经验 获得超5个赞

搜索Gson

Sting str = new Gson().toJson(obj)


查看完整回答
反对 回复 2019-04-25
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

先组装成一个Java Bean,然后使用一些JSON序列化的工具,常用的有Jackson,fastjson,Gson等。


查看完整回答
反对 回复 2019-04-25
?
HUWWW

TA贡献1874条经验 获得超12个赞

可以用hashmap,放到list之后,再放到map中,通过Gson转化。
比如
Map<String,Stirng> nameMap = new HashMap<String,String>();
nameMap .put(name,"张三");
nameMap .put(remark,"售货员");
Map<String,Stirng> dataMap= new HashMap<String,String>();
List dataList =new ArrayList();
for(int i=0;i<=4;i++){
dataMap.put("data","数据1");
dataMap.put("type","666");
}
dataList.add(dataMap);
nameMap.put(display,dataList);
String s = new Gson().toJson(nameMap);
代码稍微调整一下应该能运行。

查看完整回答
反对 回复 2019-04-25
?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

java有那么多将对象序列化为json字符串为啥不用呢


查看完整回答
反对 回复 2019-04-25
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

public class JsonUtils{

    

  private static final ObjectMapper mapper = new ObjectMapper();

  public static String Object2Json(Object o)throws BusinessException{

    StringWriter writer = new StringWriter();

    try {

      mapper.writeValue(writer, o);

    } catch (IOException e) {

      e.printStackTrace();

      throw new BusinessException(0, "Entity转换成Json时出现异常。", e);

    }

    return writer.toString();

  }


查看完整回答
反对 回复 2019-04-25
  • 8 回答
  • 0 关注
  • 408 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信