从Json值检查get Object的情况来看,DslJson是更快的Jackson所以我们应该使用DslJson代替JackSon吗?
B / c正如我在许多在线文档中看到的那样,它看起来比Dsljson更受欢迎,所以如果速度更快,为什么这个API不受欢迎?有什么理由吗?
我的小检查员:
public class App {
public static void main(String[] args) throws IOException {
String jsonString = "{\"kind\":\"dog\",\"name\":\"misao\",\"age\":1}";
byte[] bytes = jsonString.getBytes();
Pet misa = new Pet("dog", "misa", 1);
// get object from json String
// Jackson
ObjectMapper mapper = new ObjectMapper();
long currentTime1 = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
Pet misao = mapper.readValue(jsonString, Pet.class);
}
System.out.println(System.currentTimeMillis() - currentTime1); // 680 ms
long currentTime2 = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
Pet misao = mapper.readValue(bytes, Pet.class);
}
System.out.println(System.currentTimeMillis() - currentTime2); // 623 ms
// DSLJson
DslJson<Object> dslJson = new DslJson<Object>();
long currentTime3 = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
Pet misao = dslJson.deserialize(Pet.class, bytes, bytes.length);
}
System.out.println(System.currentTimeMillis() - currentTime3); // 182 ms
}}
1 回答
我认为DslJson并不那么受欢迎,因为许多开发人员更喜欢使用旧的已知库 . Jackson 在社区中已知多年,由许多开发人员创建和改进,并成为标准解决方案 . DslJson - 由2名开发人员创建的新图书馆,仅有2年历史 . 也许在未来它将成为一种新的标准解决方案,但目前几乎没有人知道它(与 Jackson 相比) . 因此,如果它稳定,最适合您的需求并且更快 - 只需使用它 .