List集合转JSONObject
fastjson怎么用写代码喜欢⽤Map拼接返回去给前端,这样得到的也是⼀个标准的JSON,今天先不说Map的优缺点,我们就来说说JSONObject的使⽤,我⽤的是阿⾥的fastjson,先上代码,当我们需要嵌套代码的时候,看需求:
由于sessionData后⾯是{},所以后⾯的对象必须是⼀个JSONObject,如果是sessionData后⾯是[]就可以使⽤JSONArray。⼀般
sessionDataExpires,sessionDataKey,sessionDataValue字段都是从缓存或数据库中查出来的,我们查出来的数据都习惯⽤List<T>去接收,那么问题就来了,List对象怎么转成JSONObject呢?由于我翻了百度好⼏页都没有我想要的答案,所以才有了这篇博客。
要知道List对象怎么转成JSONObject,我们直接来看源码即可,在idea中把所有JSONObject的⽅法都.出来:
在所有⽅法中,我们很容易看到哪些⽅法是返回了⼀个JSONObject的,⽽这个⽅法正是我们需要的,我们先看到parseObject这个⽅法,他返回的就是⼀个JSONObject
到了parseObject⽅法,但是问题⼜来了,我们的参数是List,但是parseObject⽅法接收的参数是⼀个String类型(这个Stirng是JSON格式的String,不能任意写)。那我们就继续点(.)⽅法,再我们需要的⽅法:
这⾥我们可以看到toJSONString⽅法,传⼊要给Objec对象,就能得到⼀个String类型的结果,由于⼀切对象,不管是List ,Map还是其他对象,都属于Object对象,所以我们就可以使⽤toJSONString这个⽅法来满⾜我们的要求,最后看⼀下代码:
1 List list = new ArrayList(16);
2 JSONObject result = JSONObject.JSONString(list));
这⾥我们得到的result就是⼀个JSONObject格式的数据了,最后在通过⼀个JSONObject来拼接,就能得到我们的最终效果了,看代码:
1 List list = new ArrayList(16);
2 JSONObject result = JSONObject.JSONString(list));
3 JSONObject data = new JSONObject();
4 data.put("allMenuList",result);
写到这⾥,我只能说真⾹!顺带说⼀句,这⾥主要是理解怎么通过idea把⽅法都列出来,并到⾃⼰想
要的⽅法,这就是别⼈不⽤看源码就能很快上⼿⼀门技术的原因之⼀,只要看懂对象⾥⾯有什么⽅法,哪些是你需要⽤到的⽅法,你就离⼤神⼜进⼀步了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论