Json2:使用gson解析为List和Map

import java.lang.reflect.Type;
import java.util.List;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

public class Json解析成List {

    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        sb.append("[");
        sb.append(" {‘name‘:‘张辽‘,‘power‘:93},");
        sb.append(" {‘name‘:‘徐晃‘,‘power‘:94},");
        sb.append(" {‘name‘:‘张郃‘,‘power‘:91},");
        sb.append(" {‘name‘:‘于禁‘,‘power‘:90},");
        sb.append(" {‘name‘:‘乐进‘,‘power‘:87}");
        sb.append("]");
        String json = sb.toString();

        Gson gson = new Gson();
        // 将 json 转化成List泛型
        Type t = new TypeToken<List<People>>() {}.getType();
        List<People> ps = gson.fromJson(json, t);

        System.out.println(ps);
        System.out.println(ps.get(1).getName() + "," + ps.get(1).getPower());
    }
}

运行结果:

[[email protected], [email protected], [email protected], [email protected], [email protected]]
徐晃,94

import java.util.Map;
import java.lang.reflect.Type;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

public class Json解析成map {

    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        sb.append("{");
        sb.append(" ‘锦马超‘:{‘name‘:‘马超‘,‘Power‘:96},");
        sb.append(" ‘猛张飞‘:{‘name‘:‘张飞‘,‘Power‘:96}");
        sb.append("}");
        String json = sb.toString();

        Gson gson = new Gson();
        // 将json转化成 Map泛型
        Type t = new TypeToken<Map<String, People>>() {
        }.getType();
        Map<String, People> map = gson.fromJson(json, t);
        System.out.println(map);
    }
}

运行结果:

{锦马超[email protected], 猛张飞[email protected]}

辅助类:

public class People {
    private String name;
    private int power;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getPower() {
        return power;
    }

    public void setPower(int power) {
        this.power = power;
    }
}
时间: 2024-10-14 00:36:22

Json2:使用gson解析为List和Map的相关文章

使用Gson解析Json

1.Json介绍 JSON的全称是"JavaScript Object Notation",即JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交换格式.两者的区别:因为XML虽然可以作为跨平台的数据交换格式,但是在JS中处理XML非常不方便,同时XML标记比数据多,增加了交换产生的流量,而JSON没有附加的任何标记,在JS中可作为对象处理,所以我们倾向于选择JSON来交换数据. 2.Json的两种结构 JSON有两种表示结构,对象和数

JSON格式之GSON解析

JSON格式之GSON解析 最近在做websocket相关,项目需要JSON解析.相较之下感觉google的GSON解析不错. JAVA后台 Gson提供了fromJson()方法来实现从Json相关对象到java实体的方法 1.对象类型 采用上图的第一种方法. Gson gson =new Gson(); User user= gson.fromJson(str, User.class); 2.Map.List等 采用上图的第二种方法. Type type = new TypeToken<Ma

Android开发之Gson解析Json嵌套数据

Gson解析复杂的json数据 在这里介绍解析json数据的另外一种方法就是通过Gson解析,对于解析比较简单的json数据我就不介绍了来一个比较复杂一点的json数据,如下面我们要解析的一个json数据: [java] view plaincopy String json = {"a":"100","b":[{"b1":"b_value1","b2":"b_value2&qu

Google Gson解析Json数据应用实例

转自:http://lixigao449778967.blog.163.com/blog/static/24985164201269105928783/ 1.需要的Jar包 1) Google Gson(gson-xxx.jar)下载地址:http://code.google.com/p/google-gson/downloads/list 2)JUnit4 2. 应用实例代码 下载地址:http://download.csdn.net/source/3499627 包括如下类: 1)普通Jav

JSON 之GSON 解析

一. 谷歌GSON这个Java类库可以把Java对象转换成JSON,也可以把JSON字符串转换成一个相等的Java对象.Gson支持任意复杂Java对象包括没有源代码的对象. 二.Gson解析Json步骤  A.服务器端将数据转换成json字符串    首先.服务器端项目要导入Gson的jar包到BuiltPath中.( Gson的jar:http://code.google.com/p/google-gson/   我们还可以下载gson的帮助文档) 然后将数据转为json字符串,核心函数是:

gson解析复杂的json

最近在给公司做一个直播APK的项目,主要就是通过解析网络服务器上的json数据,然后将频道地址下载下来再调用Android的播放器进行播放,原先本来打算使用普通的json解析方法即JsonObject和JsonArray的配合使用,这对于解析小数据的json数据还是比较实用,但是当解析json数据比较复杂的时候这种方法就显得比较吃力也比较麻烦了,如果大家感兴趣的话网上有大量的实例可以到网上去看看. 在这里我将介绍解析json数据的另外一种方法就是通过Gson解析,对于解析比较简单的json数据我

json解析:[1]gson解析json

客户端与服务器进行数据交互时,常常需要将数据在服务器端将数据转化成字符串并在客户端对json数据进行解析生成对象.但是用jsonObject和jsonArray解析相对麻烦.利用Gson和阿里的fastjson可以很方便的将下面四种常用的数据转换成json字符串,并能够将其解析成原数据对象 类型一:JavaBean 类型二:List<JavaBean> 类型三:List<String> 类型四:List<Map<String,Object>> 将上面的四种数

Gson 解析教程

Gson 是google解析Json的一个开源框架,同类的框架fastJson,JackJson等等 本人fastJson用了两年,也是从去年才开始接触Gson,希望下面的总结会对博友有用,至于Gson与FastJson的对比,其实半斤八两的问题,不再赘述 第一步:在AS下面创建Java工程 并添加gson依赖 compile 'com.google.code.gson:gson:2.6.2' Gson的实例化方式: 1:Gson gson=newGson(); 2:通过GsonBuilder

【Android进阶】Gson解析json字符串的简单应用

在客户端与服务器之间进行数据传输,一般采用两种数据格式,一种是xml,一种是json.这两种数据交换形式各有千秋,比如使用json数据格式,数据量会比较小,传输速度快,放便解析,而采用xml数据格式,如果使用SAX解析方式,则可以一边加载一边解析,对于数据量比较大的应用,比较适合.今天主要整理一下使用Gson解析json格式字符串的简单使用. 首先,必须导入外部包 /** * * @author ZhaoKaiQiang * * @time 2014年5月4日 */ public class J