import com.google.gson.Gson;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.alibaba.fastjson.JSON;
public class JsonPerformanceTest {
private static final int TEST_COUNT = 100000;
public static void main(String[] args) {
TestObject obj = new TestObject("value1", "value2", "value3");
Gson gson = new Gson();
long startTime = System.currentTimeMillis();
for (int i = 0; i < TEST_COUNT; i++) {
gson.toJson(obj);
}
long gsonSerializationTime = System.currentTimeMillis() - startTime;
ObjectMapper mapper = new ObjectMapper();
startTime = System.currentTimeMillis();
for (int i = 0; i < TEST_COUNT; i++) {
mapper.writeValueAsString(obj);
}
long jacksonSerializationTime = System.currentTimeMillis() - startTime;
startTime = System.currentTimeMillis();
for (int i = 0; i < TEST_COUNT; i++) {
JSON.toJSONString(obj);
}
long fastjsonSerializationTime = System.currentTimeMillis() - startTime;
System.out.println("Gson serialization time: " + gsonSerializationTime + "ms");
System.out.println("Jackson serialization time: " + jacksonSerializationTime + "ms");
System.out.println("Fastjson serialization time: " + fastjsonSerializationTime + "ms");
String gsonJson = gson.toJson(obj);
String jacksonJson = mapper.writeValueAsString(obj);
String fastjsonJson = JSON.toJSONString(obj);
System.out.println("Gson JSON size: " + gsonJson.length());
System.out.println("Jackson JSON size: " + jacksonJson.length());
System.out.println("Fastjson JSON size: " + fastjsonJson.length());
}
}
class TestObject {
private String field1;
private String field2;
private String field3;
public TestObject(String field1, String field2, String field3) {
this.field1 = field1;
this.field2 = field2;
this.field3 = field3;
}
}