fastjson使用实例

  1. package junit.test;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import com.alibaba.fastjson.JSON;
  7. import com.alibaba.fastjson.TypeReference;
  8. /*
  9. * 这里将json的转化和解析都放在一起了,大家可以根据实际需要来转化json字符串和解析json字符串
  10. */
  11. public class TestFastJson {
  12. static class Person{
  13. private String id ;
  14. private String name;
  15. private int age ;
  16. public Person(){
  17. }
  18. public Person(String id,String name,int age){
  19. this.id=id;
  20. this.name=name;
  21. this.age=age;
  22. }
  23. public String getId() {
  24. return id;
  25. }
  26. public void setId(String id) {
  27. this.id = id;
  28. }
  29. public String getName() {
  30. return name;
  31. }
  32. public void setName(String name) {
  33. this.name = name;
  34. }
  35. public int getAge() {
  36. return age;
  37. }
  38. public void setAge(int age) {
  39. this.age = age;
  40. }
  41. @Override
  42. public String toString() {
  43. return "Person [age=" + age + ", id=" + id + ", name=" + name + "]";
  44. }
  45. }
  46. public static void main(String[] args) {
  47. method1();
  48. method2();
  49. method3();
  50. method4();
  51. }
  52. static void method1(){
  53. System.out.println("javabean转化示例开始----------");
  54. Person person = new Person("1","fastjson",1);
  55. //这里将javabean转化成json字符串
  56. String jsonString = JSON.toJSONString(person);
  57. System.out.println(jsonString);
  58. //这里将json字符串转化成javabean对象,
  59. person =JSON.parseObject(jsonString,Person.class);
  60. System.out.println(person.toString());
  61. System.out.println("javabean转化示例结束----------");
  62. }
  63. static void method2(){
  64. System.out.println("List<javabean>转化示例开始----------");
  65. Person person1 = new Person("1","fastjson1",1);
  66. Person person2 = new Person("2","fastjson2",2);
  67. List<Person> persons = new ArrayList<Person>();
  68. persons.add(person1);
  69. persons.add(person2);
  70. String jsonString = JSON.toJSONString(persons);
  71. System.out.println("json字符串:"+jsonString);
  72. //解析json字符串
  73. List<Person> persons2 = JSON.parseArray(jsonString,Person.class);
  74. //输出解析后的person对象,也可以通过调试模式查看persons2的结构
  75. System.out.println("person1对象:"+persons2.get(0).toString());
  76. System.out.println("person2对象:"+persons2.get(1).toString());
  77. System.out.println("List<javabean>转化示例结束----------");
  78. }
  79. static void method3(){
  80. System.out.println("List<String>转化示例开始----------");
  81. List<String> list = new ArrayList<String>();
  82. list.add("fastjson1");
  83. list.add("fastjson2");
  84. list.add("fastjson3");
  85. String jsonString = JSON.toJSONString(list);
  86. System.out.println("json字符串:"+jsonString);
  87. //解析json字符串
  88. List<String> list2 = JSON.parseObject(jsonString,new TypeReference<List<String>>(){});
  89. System.out.println(list2.get(0)+"::"+list2.get(1)+"::"+list2.get(2));
  90. System.out.println("List<String>转化示例结束----------");
  91. }
  92. static void method4(){
  93. System.out.println(" List<Map<String,Object>>转化示例开始 ----------");
  94. Map<String,Object> map = new HashMap<String,Object>();
  95. map.put("key1", "value1");
  96. map.put("key2", "value2");
  97. Map<String,Object> map2 = new HashMap<String,Object>();
  98. map2.put("key1", 1);
  99. map2.put("key2", 2);
  100. List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
  101. list.add(map);
  102. list.add(map2);
  103. String jsonString = JSON.toJSONString(list);
  104. System.out.println("json字符串:"+jsonString);
  105. //解析json字符串
  106. List<Map<String,Object>> list2 = JSON.parseObject(jsonString,new TypeReference<List<Map<String,Object>>>(){});
  107. System.out.println("map的key1值"+list2.get(0).get("key1"));
  108. System.out.println("map的key2值"+list2.get(0).get("key2"));
  109. System.out.println("ma2p的key1值"+list2.get(1).get("key1"));
  110. System.out.println("map2的key2值"+list2.get(1).get("key2"));
  111. }
  112. }
时间: 2024-10-24 11:56:19

fastjson使用实例的相关文章

fastjson 过滤不需要序列化的属性

JSON JSON英文全称为JavaScriptObject Natation,采用key:value键值对的方式存贮数据,与xml格式相比,JSON是一种轻量级的数据交换格式:不要被JavaScript这个单词迷惑,实际上JSON只是一种数据格式,与具体语言并无关系.JSON已被广泛应用于业界,比如目前NoSQL数据库存贮大都采用key:value存贮结构,以Mongo为例,其脚本语法甚至直接使用Javascript:在数据传输时,采用JSON格式也被广泛应用,大部分开放API都开放JSON模

fastjson解析超长json串以及转成list,map等方法实例

今天在工作中出现了这么一个问题,在手机桌面的app加密解密后,字符串超长,读取两三个都会出现内存溢出的现象,最后只能根据id累加来一个个解析.解析出来的数据最后在进行处理. 转换成对象使用的是阿里巴巴的fastjson,上度娘找了一下,好多使用的是:import net.sf.json.JSONArray;import net.sf.json.JSONObject;这两个,可以参考这篇:http://blog.sina.com.cn/s/blog_5920510a01011vu8.html 我导

fastJson注解@JSONField使用的一个实例

1.实体类 package jsonArrayjsonObject.cn; import java.io.Serializable; import java.util.Date; import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.serializer.SerializerFeature; public class User implements Serializable{ private s

迅速上手Retrofit+RxJava+Okhttp+FastJson的网络框架[RRO]

Retrofit以其灵活的调用形式, 强大的扩展性著称. 随着RxAndroid的推出, Retrofit这样的可插拔式的网络框架因其可以灵活兼容各种数据解析器, 回调形式(主要还是RxJava啦)而更加风靡. 但是! Retrofit2官方虽有一堆集成第三方json解析的实现,比如gson-converter等等..但唯独就是没有FastJson, 这让我很不解..于是自己动手模仿gson-converter写了一个fastjson-converter, 并封装为一个更易用的适合Android

springmvc与fastjson的暴力美学,仅以此向温少致敬!

SpringMvc SpringMvc作为Spirng家族中的一个重要模块,已经成为我们日常开发中最主流的控制层框架之一.精简的用法,以及零配置的注解使用,加上天生与Spring的无缝集成,都是SpringMvc的巨大优势.SpringMvc入门,HelloWorld实例: 步骤: 1)创建一个maven的war工程 2)maven引入相应的jar包,我们这里只引入Springmvc的依赖包spring-webmvc 和servlet-api <!-- https://mvnrepository

MyBatis的深入原理分析之1-架构设计以及实例分析

MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简单.优雅.本文主要讲述MyBatis的架构设计思路,并且讨论MyBatis的几个核心部件,然后结合一个select查询实例,深入代码,来探究MyBatis的实现. 一.MyBatis的框架设计        注:上图很大程度上参考了iteye 上的chenjc_it所写的博文原理分析之二:框架整体设计 中的MyBatis架构体图,chenjc_it总结的非常好,赞一个! 1.接口层---和数据库交互的方式 MyBatis

使用TProfiler分析并调优项目中的Fastjson序列化代码

新项目年后就上线了,现在业务上没什么问题,就用TProfiler做了下性能分析,果然有坑. 一.TProfiler入门 高手请自觉略过本节. 1.简介 TProfiler是阿里巴巴开源的一款性能分析工具.号称可以用于生产环境进行长期的性能分析.测试程序部署后,在低峰期对响应时间影响20%,在高峰期对QPS影响30%.详细介绍请见官方WIKI. 2.简要的实现原理 TProfiler的实现基于JAVA的Instrumentation 和ASM.Instrumentation可以理解为一种虚拟机级别

Spring+Mybatis+SpringMVC后台与前台分页展示实例(附工程)

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文实现了一个后台由Spring+Mybatis+SpringMVC组成,分页采用PageHelper,前台展示使用bootstrap-paginator来显示效果的分页实例.整个项目由maven构成.这里主要讲了分页的实例,框架怎么搭建就不再说明,主要是在这里的基础上来增加分页功能的.注意,此文是在这个基础 Spring+Mybatis+SpringMVC+Maven+MySql搭建

Quartz入门实例13-spirng4和quartz2实现动态任务调用

pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <model