在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;
}