天天看点

android中处理json最佳方法

在android中处理json,采用google的gson框架,gson是google开源的一个项目。只需将gson.jar导入项目中即可!暂时没找到上传附近的地方在哪里? 下面给出事例代码:

package com.achievo.vipshop.utils;

import java.lang.reflect.type;

import java.util.linkedlist;

import android.os.debug;

import android.util.log;

import com.google.gson.fieldnamingpolicy;

import com.google.gson.gson;

import com.google.gson.gsonbuilder;

import com.google.gson.reflect.typetoken;

/**

 * jsonutils工具类:

 * 

 * @description 采用gson,google的一个开源项目,实现json对象的解析以及json对象跟java对象的互转

 * @author devin.hu

 */

public class jsonutils {

    /**

     * 将java对象转换成json对象

     * @param obj

     * @return

     */

    public static string parseobj2json(object obj){

        if(obj==null)return null;

        gson gson=new gson();

        string objstr=gson.tojson(obj);

        if(debug.isdebuggerconnected()){

            log.i("parseobj2json", objstr);

        }

        return objstr;

    }

     * 将java对象的属性转换成json的key

    public static string parseobj2jsononfield(object obj){

        gson gson=new gsonbuilder().setfieldnamingpolicy(fieldnamingpolicy.lower_case_with_dashes).create();

            log.i("parseobj2jsononfield", objstr);

     * 将json对象转换成java对象

     * @param jsondata

     * @param c

    public static object parsejson2obj(string jsondata, class c) {

        if(jsondata==null)return null;

        gson gson = new gson();

        object obj = gson.fromjson(jsondata, c);

        if(debug.isdebuggerconnected()){

            log.i("parsejson2obj", obj.tostring());

        return obj;

    public static <t> linkedlist<t> parsejson03(string jsondata,class<t> c) {

        type listtype = new typetoken<linkedlist<t>>() {}.gettype();

        linkedlist<t> list = gson.fromjson(jsondata, listtype);

//        for (iterator iterator = users.iterator(); iterator.hasnext();) {

//            user user = (user) iterator.next();

//            system.out.println("name--->" + user.getname());

//            system.out.println("age---->" + user.getage());

//        }

            log.i("parsejson2obj", list.tostring());

        return list;

}