使用fastjson进行转换

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"));
    }  

}  
时间: 2024-11-07 06:16:00

使用fastjson进行转换的相关文章

struts2的fastjson,jackson转换json简单使用

一.Fastjson使用 1.导入fastjson.jar包 2.使用方法 对于对象和集合使用同样的方法 使用JSON.toJSONString(对象)返回一个json对象 3.如果对Date类型进行格式化输出 @JSONField(format="yyyy-MM-dd") private Date birthday; 4.关于属性是否生成在json串中设置 在action中new一个SerializeFilter SerializeFilter filter = new Proper

FastJson、Jackson、Gson进行Java对象转换Json的细节处理

前言 Java对象在转json的时候,如果对象里面有属性值为null的话,那么在json序列化的时候要不要序列出来呢?对比以下json转换方式 一.fastJson 1.fastJson在转换java对象为json的时候,默认是不序列化null值对应的key的 也就是说当对象里面的属性为空的时候,在转换成json时,不序列化那些为null值的属性 具体案例如下: AutoPartsSearchRequest 有以下属性: public static void main(String[] args

fastjson转换首字母要求大写的问题

因为对接需要,传递Json对象需要首字母大写,但是通过FastJson对象转换,首字母默认会置成小写,如果需要设置成首字母大写,类似于{"DirID":0,"DirType":1234,SourceID":0,"Extend":"","InputTime":"/Date(1552966638523+0800)/","OperaterID":0,"O

springboot利用fastjson序列化输出(默认是jackson)

在@SpringBootApplication类中添加 @Bean public HttpMessageConverters fastJsonHttpMessageConverters() { //创建FastJson信息转换对象 FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter(); //创建FastJson对象并设定序列化规则 FastJsonConfig

Scala 中把 样例类转换成为JSON字符串

fastjson无法转换 case class 为json <dependency> <groupId>org.json4s</groupId> <artifactId>json4s-native_2.11</artifactId> <version>3.5.4</version> </dependency> import org.json4s.native.Serialization implicit val

Java对象转换Json的细节处理

一.fastJson 1.fastJson在转换java对象为json的时候,默认是不序列化null值对应的key的 也就是说当对象里面的属性为空的时候,在转换成json时,不序列化那些为null值的属性 2.但是如果想把null对应的key序列化出来呢?  那就要仔细看看fastjson转换java对象为json的时候的入参了:也就是这个方法: JSONObject.toJSONString(Object object, SerializerFeature... features) Fastj

记录这两天所学的东西

自2016年正式上班以来,目前没有什么开发任务,因为我们的项目已经接近尾声了,正在进行测试和修改需求以及BUG,这两天也学到一点小东西,记录一下. 昨天带我的同事叫我使用fastjson来实现一下后台,因为我们前面用的是json-lib,这个比较简单,两者作用是一样的,只不过函数名字不同,改一下函数名字就好了.后面发现fastjson可以转换成整个javabean,然后我就挑战了一下陌生内容,一下子就搞定了,这方面的感觉还不错!昨天还了解了一下事件冒泡和事件委派,但是只是限定于理论方面的,我觉得

RocketMQ原理解析-Broker

broker 1. broker的启动 brker的启动 Broker向namesrv注册 1. 获取namesrv的地址列表(是乱序的) 2. 遍历向每个namesrv注册topic的配置信息topicconfig Topic在broker文件上的存储json格式 "TopicTest":{ "perm":6, "readQueueNums":8, "topicFilterType":"SINGLE_TAG&quo

JSON关联属性转换异常

问题:FastJSON在转换对象过程中,该对象还有关联属性,该属性还是一个对象,就出现栈溢出异常,会报一下错误,解决办法:在该属性类的一边加上@JSONField(serialize=false);有时控制台不报任何错误,就在浏览器中检查,如图 Struts Problem Report Struts has detected an unhandled exception: Messages: Method "listByPage" failed for object [email p