阿里巴巴fastJson使用
来源:互联网 发布:orange pi 树莓派 知乎 编辑:程序博客网 时间:2024/05/05 05:31
项目中用到,记录一下~
1. 简单的包装
public class WrapEasy { public static void main(String[]args){ User u = new User(); u.setAge(18); u.setName("JY"); //转换为Json字符串 String jsonString = JSON.toJSONString(u); System.out.println(jsonString); //Json字符串转换为Json对象 JSONObject json = JSON.parseObject(jsonString); System.out.println(json.get("name"));//解析 } private static class User{ private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }}
输出结果为:
{"age":18,"name":"JY"}JY
2. 复杂点的包装,带List的
domain
static class Group { private Long id; private String name; private List<User> users = new ArrayList<User>(); //省略get和set,下同 } static class User { private Long id; private String name; }
包装
Group group = new Group(); group.setId(0L); group.setName("admin"); User guestUser = new User(); guestUser.setId(2L); guestUser.setName("guest"); User rootUser = new User(); rootUser.setId(3L); rootUser.setName("root"); group.getUsers().add(guestUser); group.getUsers().add(rootUser); String jsonString = JSON.toJSONString(group); System.out.println(jsonString);
输出结果
{"id":0,"name":"admin","users":[{"id":2,"name":"guest"},{"id":3,"name":"root"}]}
3. 实际解析
解析的Json串可能稍微复杂点,如下图所示
可以看到首先getSayShare是一个标识头,其中有N个对象,每个对象中包含sID\userID等字段以及一个对象数组comment,而对象comment又有一些属性,下面对其进行解析,分别得到getSayShare的每个属性,代码如下
域对象
public class comment { public String id,sID, uId, _comment, time, comment_reply;}
<pre style="font-size: 10.5pt; font-weight: bold; line-height: 20px; font-family: 宋体; background-color: rgb(255, 255, 255);"><pre name="code" class="java">public class SayShareAll { public String sID, userID, imageStrs, content, time, location, goods,commentsId,idDel; public List<comment> comment;}
public class NewSayShare { public List<SayShareAll> getSayShare;}可以看到,头部为List<>的名字,
以后继续更博了~~~继续加油NewSayShare gg = JSON.parseObject(result, NewSayShare.class); List<SayShareAll> ssaDeco = gg.getSayShare;//解析后是一个list对象 for(SayShareAll ss:ssaDeco){ HashMap<String,Object> map = new HashMap<String,Object>(); map.put("sID",ss.sID); map.put("userID",ss.userID); map.put("imageStr",ss.imageStrs); map.put("content",ss.content); map.put("time",ss.time); map.put("location",ss.location); map.put("goods",ss.goods); map.put("commentsId",ss.commentsId); map.put("idDel",ss.idDel); map.put("comment",ss.comment);//此处实时ss.comment是一个List<comment>的数组类型 result_Test.add(map); }
此处把对象取出放入了map中。解析完成
0 0
- 阿里巴巴 - FastJson使用简介
- 阿里巴巴 - FastJson使用简介
- 阿里巴巴 - FastJson使用简介
- 阿里巴巴fastjson的使用
- 阿里巴巴fastJson使用
- fastjson 阿里巴巴json使用
- 阿里巴巴的fastjson使用分析
- SpringMVC杂记(1) 使用阿里巴巴的fastjson
- Java编程:阿里巴巴的fastjson使用示例
- SpringMVC杂记(1) 使用阿里巴巴的fastjson
- Json解析包 阿里巴巴 FastJson 的使用
- 阿里巴巴FastJson解析
- 阿里巴巴中的FastJson解析
- 阿里巴巴的fastJson
- 阿里巴巴fastjson简用
- 阿里巴巴的fastjson
- 阿里巴巴Json工具-Fastjson讲解
- 阿里巴巴Json工具-Fastjson讲解
- java表现层技术:jsp、freemarker、velocity对比
- iOS源码统计代码行数
- 浅谈 typeid
- short s1 = 1; s1 = s1 + 1; short s2 = 1; s2 += 1;
- CM5.8.0 on CentOS6.5 离线安装及卸载全过程详解
- 阿里巴巴fastJson使用
- java中文乱码
- netty服务器向客户端同步请求
- Hack技巧之选择符级hack
- 初识python1--程序元素
- reponse 输出中文乱码问题
- mean shift:从图像分割到特征空间分析
- 基于apache POI excel导出,支持多列多条件。
- tool_android studio