fastjson的常见使用

1、引入maven

    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.47</version>
    </dependency>

  

2、自己定义一个java对象

package com.wu;

/**
 * @Auther: wuyilong
 * @Date: 2019/4/29 10:20
 * @Description:
 */
public class UserInfo {
    String name;
    int age;
    String sex;

    public UserInfo() {

    }

    public UserInfo(String name, int age, String sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;
    }

    public UserInfo(String name, int age) {
        this.name = name;
        this.age = 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;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }


    @Override
    public String toString() {
        return "UserInfo{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                '}';
    }
}

 

3、常见的用法

******************************************
Jva对象、字符串,Json字符串,Json对象
******************************************

=============================================================================================

java对象->json字符串
UserInfo info = new UserInfo("马", 30, "男");
String json_str = JSON.toJSONString(info);
System.out.println(json_str);

=============================================================================================
java list对象->json字符串
List<UserInfo> list = new ArrayList<>();
list.add(new UserInfo("name01", 10, "男"));
list.add(new UserInfo("name02", 20, "男"));
String json_str = JSON.toJSONString(list);
System.out.println(json_str);

=============================================================================================
json字符串->java对象
UserInfo info = new UserInfo("马", 30, "男");
String json_str = JSON.toJSONString(info);
UserInfo u = JSON.parseObject(json_str, UserInfo.class);
System.out.println(u.toString());

=============================================================================================
日期格式化
Date date = new Date();
System.out.println("输出毫秒数:" + JSON.toJSONString(date));
System.out.println("默认的格式:" + JSON.toJSONString(date, SerializerFeature.WriteDateUseDateFormat));
System.out.println("自定义日期:" + JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd",
        SerializerFeature.WriteDateUseDateFormat));

=============================================================================================
字符串->JSON数据
public static void string2Json(){  
    StringBuffer buffer=new StringBuffer();  
    buffer.append("{");  
        buffer.append("\"age\":").append("27").append(",");  
        buffer.append("\"userName\":").append("\"龙叔\"").append(",");  
        buffer.append("\"address\":").append("\"广东省云浮市\"");  
    buffer.append("}");  
      
    String jsonText=buffer.toString();  
      
    JSONObject jobj=JSON.parseObject(jsonText);

    String address=jobj.get("address").toString();  
    System.out.println(address);  
}

=============================================================================================
字符串->对象
public static void string2Object(){  
    StringBuffer buffer=new StringBuffer();  
    buffer.append("{");  
        buffer.append("\"age\":").append("27").append(",");  
        buffer.append("\"userName\":").append("\"龙叔\"").append(",");  
        buffer.append("\"address\":").append("\"广东省云浮市\"");  
    buffer.append("}");  
      
    String jsonText=buffer.toString();

    //方法一 把json字符串转成Student对象  
    Student stu1 = JSON.parseObject(jsonText, new TypeReference<Student>(){});  
    //方法二 把json字符串转成Student对象  
    Student stu2 = JSON.parseObject(jsonText, Student.class);    
      
    System.out.println(stu1.getAddress());  
    System.out.println(stu2.getAddress());  
} 

=============================================================================================
字符串->泛型数组
public static void string2List(){  
    StringBuffer buffer=new StringBuffer();  
    buffer.append("[{");  
        buffer.append("\"age\":").append("27").append(",");  
        buffer.append("\"userName\":").append("\"龙叔\"").append(",");  
        buffer.append("\"address\":").append("\"广东省云浮市\"");  
    buffer.append("}]");  
      
    String jsonText=buffer.toString();  
    //转成成数组  
    Student[] stu2 = JSON.parseObject(jsonText,new TypeReference<Student[]>(){});    
    List<Student> list = Arrays.asList(stu2);  
      
    for(Student st:list){  
        System.out.println(st.getAddress());  
    }  
      
    // 转换成ArrayList  
    ArrayList<Student> list2 = JSON.parseObject(jsonText, new TypeReference<ArrayList<Student>>(){});   
      
    for (int i = 0; i < list2.size(); i++) {  
        Student obj =(Student) list2.get(i);  
        System.out.println(obj.getAddress());  
    }  
}


=============================================================================================
Map->字符串
public static void map2json(){  
    //创建一个Map对象  
     Map<String,String> map = new HashMap<String, String>();  
     map.put("username", "周伯通");  
     map.put("address", "广东省仙游谷");  
     map.put("age", "198");

     String json = JSON.toJSONString(map,true); //转成JSON数据  
       
     Map<String,String> map1 = (Map<String,String>)JSON.parse(json);

     //遍历数组数据  
     for (String key : map1.keySet()) {   
        System.out.println(key+":"+map1.get(key));   
    }   
}

  

 

posted @ 2019-04-29 11:09  林木声  阅读(269)  评论(0编辑  收藏  举报