`

Json,Gson,FastJson解析笔记

    博客分类:
  • J2SE
阅读更多
Json
1.将JavaBean转换成Json对象:
public static String CreatJsonFromObject(Object key,Object value)
	{
		JSONObject JObj =new JSONObject();
		JObj.put(key, value);
		return JObj.toString();
	}

2.解析Json:
  public static  Person parseJsonPerson(String key,String jsonStr)
    {
        System.out.print(key+"-->"+jsonStr);
        Person person =new Person();
        JSONObject jobj;
        try
        {
            jobj = new JSONObject(jsonStr);
            JSONObject personObj =jobj.getJSONObject(key);
            person.setAge(personObj.getInt("age"));
            person.setName(personObj.getString("name"));
            person.setSex(personObj.getString("sex"));
        }
        catch (JSONException e)
        {
            e.printStackTrace();
        }
        return person;
       
    }
    
    public static List<Person> parseJsonListPerson(String key,String jsonStr)
    {
        System.out.print(key+"-->"+jsonStr);
        List<Person> list=new ArrayList<Person>();
        try
        {
            JSONObject jobj;
            jobj = new JSONObject(jsonStr);
            JSONArray personArr =jobj.getJSONArray(key);
            for(int i=0;i<personArr.length();i++)
            {
                JSONObject personObj = personArr.getJSONObject(i);
                Person person =new Person();
                person.setAge(personObj.getInt("age"));
                person.setName(personObj.getString("name"));
                person.setSex(personObj.getString("sex"));
                list.add(person);
            }
        }
        catch (JSONException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return list;
    }
    
    public static List<String> parseJsonListString(String key,String jsonStr)
    {
        System.out.print(key+"-->"+jsonStr);
        List<String> list =new ArrayList<String>();
        try
        {
            JSONObject jobj;
            jobj = new JSONObject(jsonStr);
            JSONArray personArr =jobj.getJSONArray(key);
            for(int i=0;i<personArr.length();i++)
            {
                String personObj = personArr.getString(i);
                list.add(personObj);
            }
        }
        catch (JSONException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return list;
    }
    
    public static List<Map<String, Object>> parseJsonListMap(String key,String jsonStr)
    {
        System.out.print(key+"-->"+jsonStr);
        List<Map<String, Object>> list =new ArrayList<Map<String,Object>>();
        try
        {
            JSONObject jobj;
            jobj = new JSONObject(jsonStr);
            JSONArray personArr =jobj.getJSONArray(key);
            for(int i=0;i<personArr.length();i++)
            {
                JSONObject personObj = personArr.getJSONObject(i);
                Iterator<String> set =personObj.keys();
                while(set.hasNext())
                {
                    String tempKey =set.next();
                    Object tempValue =personObj.get(tempKey);
                    HashMap<String,Object> map =new HashMap<String,Object>();
                    //注意tempValue可能为空
                    if(tempValue == null)
                    {
                        tempValue="";
                    }
                    map.put(tempKey, tempValue);
                    list.add(map);
                }
            }
            
        }
        catch (JSONException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        
        return list;
    }


Gson:
1.将JavaBean转换成Gson String
	public static String CreatJsonFromObject(Object value)
	{
		Gson gson =new Gson();
		return gson.toJson(value);
		
	}

2.解析Gson String
 public static <T> T getPerson(String Json, Class<T> cls)
    {
        Gson gson = new Gson();
        T t = gson.fromJson(Json, cls);
        return t;
    }
    
   public static <T> List<T> getPersons(String Json, Class<T> Type)
    {
        List<T> list = new Gson().fromJson(Json, new TypeToken<List<T>>()
        {
        }.getType());
        return list;
    }
    
   public  static List<String> getString(String Json)
    {
        List<String> retStr = new Gson().fromJson(Json, new TypeToken<List<String>>()
        {
        }.getType());
        return retStr;
    }
    
   public   static List<Map<String, Object>> getListMap(String Json)
    {
        List<Map<String, Object>> retStr = new Gson().fromJson(Json, new TypeToken<List<Map<String, Object>>>()
        {
        }.getType());
        return retStr;
    }

FastJson:
1.将JavaBean转换成FastJson String
服务端利用上述方式实现
2.解析FastJson String
 public static <T> T getPerson(String jsonStr, Class<T> cls)
    {
        T t = JSON.parseObject(jsonStr, cls);
        return t;
    }
    
    public static <T> List<T> getPersons(String jsonStr, Class<T> cls)
    {
        List<T> list = JSON.parseArray(jsonStr, cls);
        return list;
    }
    
    /**
     * @param jsonStr
     * @return
     */
    public static List<Map<String, Object>> getListMap(String jsonStr)
    {
        List<Map<String, Object>> list = JSON.parseObject(jsonStr, new TypeReference<List<Map<String, Object>>>()
        {
        });
        return list;
    }
分享到:
评论

相关推荐

    json解析 gson fastjson

    在Java中,有多种库可以帮助我们解析和生成JSON,其中最常用的包括Gson和Fastjson。 **Gson** 是Google开发的一个Java库,能够将Java对象转换为JSON字符串,反之亦然。Gson的主要优点是它对Java对象的深度支持,...

    Java四大json库gson+fastjson+jackson+json-lib

    Fastjson是阿里巴巴的一个高性能的JSON库,它的主要特点是解析速度快,内存消耗低。Fastjson提供了简单直观的API,使得JSON与Java对象之间的转换变得异常简便。此外,它还支持JSON到Java对象的映射,以及JSON到XML...

    Json_Gson_FastJson解析

    在Java世界中,有多种库可以帮助我们解析和生成JSON,其中最常用的包括org.json、Google的Gson以及阿里巴巴的FastJson。下面我们将详细探讨这三种JSON解析库的使用方法。 1. **org.json**: org.json是一个开源的...

    Json解析案例json,fastjson,gson

    本文将深入探讨三种广泛使用的JSON解析库:原生的`json`库,阿里巴巴的`fastjson`,以及Google的`gson`。 ### 1. 原生`json`库 Android系统内建了一个简单的`org.json`库,提供基本的JSON操作。它包括`JSONObject`...

    很全的JSON数据解析 详细介绍fastJSON与Gson的使用和区别 还有详细demo

    3、fastjson-1.1.25-android-javadoc fastjson的api 4、fastjson-1.1.25-sources fastjson的源码 5、Gson_javadocs Gson的api 6、gson-2.2.2-sources Gson的源码 启动Tomcat服务器之后运行客户端代码,在操作时...

    Gson和fastJson解析json

    3. **灵活性**:FastJson支持更灵活的JSON解析,如JSONPath和JSON流解析,而Gson则在类型安全和注解支持上更胜一筹。 4. **社区支持**:由于Gson由Google维护,其社区支持和文档相对丰富,而FastJson作为阿里巴巴的...

    Gson解析复杂Json实例,超简单

    本教程将深入探讨如何使用Gson库解析复杂的JSON实例,让你只需寥寥几行代码就能轻松处理JSON解析问题。 ### Gson库简介 Gson库的核心功能是将Java对象(如自定义类)转换为JSON字符串,反之亦然。这个库非常直观,...

    json-gson-fastJson的jar包

    1. **高速度**:FastJson在性能上优于Gson,尤其在大数据量的处理上,它的解析速度和生成速度都表现出色。 2. **简单API**:FastJson提供了简单易用的API,如`parseObject()`和`toJSONString()`,使得JSON操作直观...

    gson,fastJson,json-lib测试与实例

    在Java世界里,处理JSON数据时我们通常会用到一些库,如Gson、FastJson和json-lib。这三个库都是为了方便JSON与Java对象之间的转换,使得数据的序列化和反序列化变得简单。 **Gson** 是Google开发的一个Java库,它...

    gson fastjson jar包

    为了方便地将Java对象转换为JSON格式,以及将JSON字符串解析为Java对象,开发者通常会使用到一些库,如Gson和Fastjson。这两个库都提供了高效的JSON操作功能,使得数据处理变得简单而高效。 **Gson** 是由Google...

    gson-fastjson.zip

    本文将深入探讨两个流行的Java JSON库:Fastjson和Gson,以及它们在处理JSON时的关键特性和使用方法。 首先,我们来看`fastjson-1.2.68.jar`,这是阿里巴巴开发的一个高性能的JSON库。Fastjson的特点在于其快速的...

    JSON中fastjson、jackson、gson如何选择.docx

    Java 中有多种 JSON 解析方式,例如 fastjson(阿里)、Gson(谷歌)、jackson 等。那么,在选择 JSON 解析器时,需要考虑哪些因素?本文将从性能、功能、易用性和社区支持四个方面比较 fastjson、jackson 和 gson...

    gson fastjson

    当处理JSON时,高效的解析库是必不可少的工具,其中Gson和Fastjson是Java开发中的两个热门选择。 Gson是由Google开发的一个Java库,它能够将Java对象转换为对应的JSON字符串,同时也能够将JSON内容解析回等效的Java...

    Json解析Gson解析

    本篇文章将深入探讨JSON解析以及Gson库的使用方法。 一、JSON解析基础 JSON是一种独立于语言的数据表示格式,其结构清晰,易于人阅读和编写,同时也容易让机器解析和生成。JSON主要由键值对(key-value pairs)...

    json-gson-fastjson-jar包

    在Java开发中,有多个库可以帮助我们处理JSON,其中包括Gson和Fastjson。 1. **Gson**: Google开发的Gson库允许将Java对象转换为JSON字符串,反之亦然。它提供了一种灵活的方式来序列化和反序列化Java对象,而...

    Gson解析json数据

    在本文中,我们将深入探讨如何使用Gson解析JSON数据,包括处理简单JSON和复杂的JSON结构。 首先,我们要了解JSON的基本概念。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,...

    JSON、GSON解析json

    GSON的强大之处在于它可以自动映射JSON数据到Java对象,大大简化了JSON解析和序列化的过程。 以下是关于JSON和GSON在Android开发中的具体知识点: 1. JSON基本结构:JSON包含两种主要数据结构,对象(Object)和数...

    使用gson解析json

    例如,在Android应用程序中,可以使用Gson或FastJson将JSON数据解析成Java对象,或者将Java对象转换成JSON字符串。 使用Gson解析JSON的步骤: 1. 首先,需要将JSON字符串解析成Java对象,使用Gson的fromJson方法...

    android之json和gson数据解析最完整的代码例子(包括各种样式的json数据)

    本文将详细介绍如何在Android应用中使用JSON和Gson进行数据解析,并通过实际代码示例来演示各种类型的JSON数据处理。 一、JSON基础 1. JSON格式:JSON是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式...

    Android中Json数据解析三种方式:原生、Gson、FastJson

    本文将详细介绍在Android中解析JSON数据的三种常见方法:原生JSON库、Gson库以及FastJson库。每种方法都有其特点和适用场景,开发者可以根据实际需求选择合适的方法。 ### 1. 原生JSON库 Android系统本身提供了...

Global site tag (gtag.js) - Google Analytics