167. fastjson簡單使用demo 頂 原

1.新建動態web項目

導入fastjson的jar(百度下載)

2.代碼

package cn.ma.test.fastjson;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;

import org.junit.Test;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.alibaba.fastjson.serializer.SimplePropertyPreFilter;

import cn.ma.test.domian.User;

public class TestFastJson {
    /**
     * 1.將對象轉化爲json格式
     * 
     * @Title: Test1
     * @Description: 
     * @return
     * @return String
     * @throws
     * 效果:{"age":12,"id":"47d64366-e4b8-4972-afe5-42a04d881e6e","name":"張三"}
     */
        @Test
        public void Test1(){
                User user = new User();
                user.setId(UUID.randomUUID().toString());
                user.setName("張三");
                user.setAge(12);
                String UserJson = JSONObject.toJSONString(user);
                    System.out.println(UserJson);
        }
        /**
         * 2.將list轉化爲json格式
         * @Title: test2
         * @Description: 
         * @return void
         * @throws
         */
        //2.1 第一種  list集合中直接放的是對象 對象沒有屬性
        //效果 ["張三","李四","王五"]
        @Test
        public void test2(){
        List<Object> list = new ArrayList<Object>();
            list.add("張三");
            list.add("李四");
            list.add("王五");
            String str = JSONObject.toJSONString(list);
            System.out.println(str);
        }
        //2.2.第二種  list集合中直接放的是對象 對象有屬性
        //效果 [{"age":12,"id":"19b429d4-2092-4bfa-9520-4c1d78d2a4af","name":"小王"},{"age":13,"id":"eb754bf9-a79c-4332-aa08-ffcf8ab08541","name":"小馬"},{"age":14,"id":"e7b270bd-df41-495e-a4bc-350e09179729","name":"小楊"}]
        @Test
        public void test3(){
            List<User> list = new ArrayList<User>();
            User user = new User();
                user.setId(UUID.randomUUID().toString());
                user.setName("小王");
                user.setAge(12);
            User user2 = new User();
                user2.setId(UUID.randomUUID().toString());
                user2.setName("小馬");
                user2.setAge(13);
            User user3 = new User();
                user3.setId(UUID.randomUUID().toString());
                user3.setName("小楊");
                user3.setAge(14);
            //將user對象方法 list集合中
                list.add(user);
                list.add(user2);
                list.add(user3);
                String jsonStri = JSONObject.toJSONString(list);
                System.out.println(jsonStri);
        }
        /**
         * 3. 將map  轉化爲json格式
         * @Title: test4
         * @Description: 
         * @return void
         * @throws
         */
        //3.1 簡單的map 轉化爲json
        // 效果  {"age":13,"id":"c17b81e7-df55-42ec-8d1d-da4431729e3b","name":"小美"}
        @Test
        public  void test4(){
                Map<String, Object> map = new  HashMap<String,Object>();
                    map.put("id", UUID.randomUUID().toString());
                    map.put("name", "小美");
                    map.put("age", 13);
                    String jsonMap = JSONObject.toJSONString(map);
                    System.out.println(jsonMap);
        }
        //3.2  複雜的map 轉化爲json
        // 效果  {"data":{"age":13,"id":"cc7d5734-1619-4f05-90f0-1d742712c1fe","name":"小美"},"msg":"操作成功","status":"101"}
        @Test
        public  void test5(){
                Map<String, Object> map = new  HashMap<String,Object>();
                Map<String, Object> map2 = new  HashMap<String,Object>();
                        map2.put("id", UUID.randomUUID().toString());
                        map2.put("name", "小美");
                        map2.put("age", 13);
                    map.put("status", "101");
                    map.put("msg", "操作成功");
                    map.put("data", map2);
                
                String jsonMap = JSONObject.toJSONString(map);
                System.out.println(jsonMap);
        }
        /**
         * 4.fastjson 過濾 不需要的 字段
         * SimplePropertyPreFilter filter = new SimplePropertyPreFilter(TTown.class, "id","townname");  
         * 效果 [{"name":"小王"},{"name":"小馬"},{"name":"小楊"}]
         */
        @Test
        public void test6(){
            List<User> list = new ArrayList<User>();
            User user = new User();
                user.setId(UUID.randomUUID().toString());
                user.setName("小王");
                user.setAge(12);
            User user2 = new User();
                user2.setId(UUID.randomUUID().toString());
                user2.setName("小馬");
                user2.setAge(13);
            User user3 = new User();
                user3.setId(UUID.randomUUID().toString());
                user3.setName("小楊");
                user3.setAge(14);
            //將user對象方法 list集合中
                list.add(user);
                list.add(user2);
                list.add(user3);
                
                SimplePropertyPreFilter filter = new SimplePropertyPreFilter(User.class, "name"); //只保留name字段
                String jsonStri = JSONObject.toJSONString(list,filter);
                System.out.println(jsonStri);
        }
        /**
         * 5.
         * fastjson生成json時Null屬性不顯示的解決方法

         * @Title: test7
         * @Description: 
         * @return void
         * @throws
         */
        @Test
        public  void test7(){
                Map<String, Object> map = new  HashMap<String,Object>();
                        map.put("id", UUID.randomUUID().toString());
                        map.put("name", "小美");
                        map.put("age", 13);
                        map.put("desc", null);
                String jsonMap = JSONObject.toJSONString(map,SerializerFeature.WriteMapNullValue);
                System.out.println(jsonMap);
        }
        /**
         * 6. 將時間轉化爲json格式(沒啥用)
         * @Title: test8
         * @Description: 
         * @return void
         * @throws
         */
        @Test
        public  void test8(){
            Date date =    new Date();
    
            String time = JSONObject.toJSONStringWithDateFormat(date, "yyyy-MM-dd HH:mm:ss",SerializerFeature.WriteDateUseDateFormat);
            
            System.out.println(time);
        }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章