【Android开源】Gson和Jackson的简单比较

本文探讨了Android开发中两个流行的JSON库——Gson和Jackson的简单比较。文章通过项目结构介绍,提供了Jackson和Gson的下载链接,并在MainActivity中利用时间差进行性能验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文只做简单比较

一、项目的结构:


二、开源的框架使用的是Jackson和Gson

Jackson链接:http://jackson.codehaus.org/1.7.6/jackson-all-1.7.6.jar

Gson链接:https://github.com/google/gson/zipball/master

三、MainActivity中使用时间差做验证:

package com.jason.jsoncompare;

import java.util.ArrayList;
import java.util.List;

import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;

import android.app.Activity;
import android.os.Bundle;

import com.google.emcomjson.Gson;
import com.google.emcomjson.GsonBuilder;
import com.google.emcomjson.reflect.TypeToken;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		//生成较大的json
        List<User> list = new ArrayList<User>();
        for (int i = 0; i < 10; i++) {
        	User obj = new User();
            obj.setId(i);
            obj.setName("name" + String.valueOf(i));
            list.add(obj);
        }

        Gson gson = new GsonBuilder().create();
        String str = gson.toJson(list);

        //1、gson解析
        long start1 = System.currentTimeMillis();
        List<User> l = gson.fromJson(str, new TypeToken<List<User>>() {
        }.getType());
        System.out.println("gson time elapse:" + (System.currentTimeMillis() - start1));
        System.out.println(l.size());

        //2、jackson解析
        ObjectMapper mapper = new ObjectMapper();
        List<User> l2 = new ArrayList<User>();
        long start2 = System.currentTimeMillis();
		try {
			 l2 = mapper.readValue(str, new TypeReference<List<User>>() {});
		} catch (Exception e) {
			e.printStackTrace();
		}
        System.out.println("jackson time elapse:" + (System.currentTimeMillis() - start2));
        System.out.println(l2.size());

	}

}

五、在Logcat中看结果吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值