关键词:
package junit.test; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; /* * 这里将json的转化和解析都放在一起了,大家可以根据实际需要来转化json字符串和解析json字符串 */ public class TestFastJson { static class Person{ private String id ; private String name; private int age ; public Person(){ } public Person(String id,String name,int age){ this.id=id; this.name=name; this.age=age; } public String getId() { return id; } public void setId(String id) { this.id = id; } 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; } @Override public String toString() { return "Person [age=" + age + ", id=" + id + ", name=" + name + "]"; } } public static void main(String[] args) { method1(); method2(); method3(); method4(); } static void method1(){ System.out.println("javabean转化示例开始----------"); Person person = new Person("1","fastjson",1); //这里将javabean转化成json字符串 String jsonString = JSON.toJSONString(person); System.out.println(jsonString); //这里将json字符串转化成javabean对象, person =JSON.parseObject(jsonString,Person.class); System.out.println(person.toString()); System.out.println("javabean转化示例结束----------"); } static void method2(){ System.out.println("List<javabean>转化示例开始----------"); Person person1 = new Person("1","fastjson1",1); Person person2 = new Person("2","fastjson2",2); List<Person> persons = new ArrayList<Person>(); persons.add(person1); persons.add(person2); String jsonString = JSON.toJSONString(persons); System.out.println("json字符串:"+jsonString); //解析json字符串 List<Person> persons2 = JSON.parseArray(jsonString,Person.class); //输出解析后的person对象,也可以通过调试模式查看persons2的结构 System.out.println("person1对象:"+persons2.get(0).toString()); System.out.println("person2对象:"+persons2.get(1).toString()); System.out.println("List<javabean>转化示例结束----------"); } static void method3(){ System.out.println("List<String>转化示例开始----------"); List<String> list = new ArrayList<String>(); list.add("fastjson1"); list.add("fastjson2"); list.add("fastjson3"); String jsonString = JSON.toJSONString(list); System.out.println("json字符串:"+jsonString); //解析json字符串 List<String> list2 = JSON.parseObject(jsonString,new TypeReference<List<String>>(){}); System.out.println(list2.get(0)+"::"+list2.get(1)+"::"+list2.get(2)); System.out.println("List<String>转化示例结束----------"); } static void method4(){ System.out.println(" List<Map<String,Object>>转化示例开始 ----------"); Map<String,Object> map = new HashMap<String,Object>(); map.put("key1", "value1"); map.put("key2", "value2"); Map<String,Object> map2 = new HashMap<String,Object>(); map2.put("key1", 1); map2.put("key2", 2); List<Map<String,Object>> list = new ArrayList<Map<String,Object>>(); list.add(map); list.add(map2); String jsonString = JSON.toJSONString(list); System.out.println("json字符串:"+jsonString); //解析json字符串 List<Map<String,Object>> list2 = JSON.parseObject(jsonString,new TypeReference<List<Map<String,Object>>>(){}); System.out.println("map的key1值"+list2.get(0).get("key1")); System.out.println("map的key2值"+list2.get(0).get("key2")); System.out.println("ma2p的key1值"+list2.get(1).get("key1")); System.out.println("map2的key2值"+list2.get(1).get("key2")); } }
使用fastjson进行驼峰下划线相互转换写法及误区(代码片段)
PropertyNamingStrategy有四种序列化方式。CamelCase策略,Java对象属性:personId,序列化后属性:persionId–实际只改了首字母大写变小写PascalCase策略,Java对象属性:personId,序列化后属性:PersonId–实际只... 查看详情
gson和fastjson
...,不需要例外额外的jar,能够直接跑在JDK上。阿里巴巴的FastJson:无依赖,不需要例外额外的jar,能够直接跑在JDK上。FastJson在复杂类型的Bean转换Json上会出现一些问题,可能会出现引用的类型,导致Json转换出错,需要制定引用。... 查看详情
fastjson中对象转换中看到的一些现象(代码片段)
...一看代码如下:JSON.parseObject(value,List.class)这里使用了fastjson,但是这里一看就看的出来,使用的不是很流畅。先讲讲fastjson什么是fastjsonfastjson是阿里开源的一个json操作库。从名字就可以看出来。它支持json和java对象类... 查看详情
fastjson中对象转换中看到的一些现象(代码片段)
...一看代码如下:JSON.parseObject(value,List.class)这里使用了fastjson,但是这里一看就看的出来,使用的不是很流畅。先讲讲fastjson什么是fastjsonfastjson是阿里开源的一个json操作库。从名字就可以看出来。它支持json和java对象类... 查看详情
java中使用fastjson进行对象的序列化和反序列化
Java中使用FastJSON进行对象的序列化和反序列化1.添加依赖,maven的pom.xml文件中添加以下依赖<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version>& 查看详情
fastjson的使用
fastJson对于json格式字符串的解析主要用到了一下三个类:JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换。JSONObject:fastJson提供的json对象。JSONArray:fastJson提供json数组对象。我们可以把JSONObject当成一个Map... 查看详情
gson、fastjson、jackson、json-lib对比总结
...较:在项目选型的时候可以使用Google的Gson和阿里巴巴的FastJson两种并行使用,如果只是功能要求,没有性能要求,可以使用google的Gson,如果有性能上面的要求可以使用Gson将bean转换json确保数据的正确,使用FastJson将Json转换Bean2.1... 查看详情
fastjson泛型如何转换
引子 现在负责的业务和json打交道比较多,最近使用fastJson框架json串转成泛型对象遇到了一个异常:java.lang.ClassCastException 还原下场景: 模型Result<T>publicclassResult<T>{privateStringmsg;privateList<T>module;publ 查看详情
fastjson中@jsonfield注解使用(代码片段)
最近做项目中,使用了json格式在服务器之间进行数据传输。但是发现json格式数据不符合JAVA中的变量定义规则,并且难以理解,因此需要在后台中做二次处理,将数据处理成我们系统中定义的格式。思路: ... 查看详情
fastjson转换对象,属性首字母大小写的问题
...4","LoginType":"1","Mac":"02:00:00:62:73:74"等等。转换成Json的时候FastJson的源码会做一段操作,fastjson内部做Bean转换时会使用到com.alibaba.fastjson. 查看详情
gson和fastjson将json对象转换成javabean简单对照
...成javaBean.以前没使用过Gson,随即,简单入了个们,想起fastjson也有将json字符串转换成javaBean的API,随即简单比较了下源码.fastjson中的API如下:/***@since1.2.9*/public<T>TtoJavaObject(Cla 查看详情
fastjson解析错误问题查找
使用fastjson解析有时会碰到如下错误:com.alibaba.fastjson.JSONException:syntaxerror,expect,actualposxxx,...错误日志也是模棱两可,不写出具体的问题,这个时候可以使用Gson来转换:newGson().fromJson(json,mType);Gson转换如果出现问题会有... 查看详情
fastjson顺序遍历json字段
fastJson在把json格式的字符串转换成JSONObject的时候,使用的是HashMap,所以排序规则是根据HASH值排序的,如果想要按照字符串顺序遍历JSON属性,需要在转换的时候指定使用LinkedHashMap代替HashMap。publicstaticvoidmain(String[]args){StringjsonStr="... 查看详情
java-fastjson怎样使用自定义dateformatdeserializer
参考技术A反序列化问题如何使用fastjson成功反序列如下json串?“id”:1,”status”:200显然,如果直接用Json.parseObject()方法进行反序列化,会报如下错误信息:Exceptioninthread“main”com.alibaba.fastjson.JSONException:parseenumcom.netwaymedia.exhibiti... 查看详情
通过fastjson将long类型转换成string类型
...字段转换成String类型的,风险比较大。 方法二:使用fastjson的提供的注解,@JSONField(ser 查看详情
为什么不应该再使用fastjson
背景目前在国内环境中,应该是使用FastJson比较多,从国内的搜索到的文章教程中,大部分都是用的FastJson,由此可见在国内的普及度还是较高的。我一开始也是完全使用FastJson作为自己的主力库,主要有以下几点原因:国人开发... 查看详情
fastjson的常用操作
FastJson的常用操作2017-06-05常用操作包括以下内容:对象与(JsonObject或JsonArray)与String的互换String转换为(JsonObject或JsonArray)如何保持顺序Eval的使用值为null的(JsonObject或JsonArray)转换为String时如何保存代码:packageDemo.Sample1;impor... 查看详情
javaxml和json互相转换方法(代码片段)
目录1javaxml转为json的方法1.1fastjson和jdom2进行转化1.2用的org.json包2javajson格式转xml格式2.1使用jdom进行转换2.2使用dom4j进行转换1javaxml转为json的方法1.1fastjson和jdom2进行转化<?xmlversion="1.0"encoding="utf-8"?><auibinsura... 查看详情