常用的三種json軟件的使用


 

從幾個角度比較三種軟件

  1. json操作
  2 反解
  3 性能

 

易用性還沒有列出。

 

可以根據個人喜好進行取舍。

package json;


import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
import lombok.Data;

public class JsonTest {
    public static void main(String[] args) throws Exception{
        testFastjson();
        testJackson();
        testGson();
    }


    public static Person getPerson(String name, int age){
        Person person = new Person();
        person.setAge(age);
        person.setName(name);
        return person;
    }
    public static void testFastjson(){
        long              startTime = System.currentTimeMillis();
        String            jsonstr   = "";
        Person person1   = getPerson("a",1);
        for (int i =0;i < 100000;i++){
            jsonstr = JSON.toJSONString(person1);
            Person person = JSON.parseObject(jsonstr, Person.class);
        }
        System.out.println("fastjson cost:"+(System.currentTimeMillis()-startTime));
        System.out.println(jsonstr);
    }

    public static void testJackson() throws Exception{

        long startTime = System.currentTimeMillis();

        String            jsonstr = "";
        Person person1 = getPerson("a",1);

        ObjectMapper mapper = new ObjectMapper();

        for (int i =0;i < 100000;i++){
            jsonstr = mapper.writeValueAsString(person1);
            Person person = mapper.readValue(jsonstr, Person.class);
        }
        System.out.println("jackson cost:"+(System.currentTimeMillis()-startTime));
        System.out.println(jsonstr);
    }



    public static void testGson(){
        long startTime = System.currentTimeMillis();

        String            jsonstr = "";
        Person person1 = getPerson("a",1);

        Gson gson = new Gson();

        for (int i =0;i < 100000;i++){
            jsonstr = gson.toJson(person1);
            Person person = gson.fromJson(jsonstr, Person.class);
        }
        System.out.println("gson cost:"+(System.currentTimeMillis()-startTime));
        System.out.println(jsonstr);
    }
}

@Data
class Person{
    private String name;
    private int  age;
}

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM