`
1140566087
  • 浏览: 560148 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18563
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:314497
Group-logo
J2ME 基础学习课程集
浏览量:18795
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17592
社区版块
存档分类
最新评论

Android 之 GSON解析JSON数据

阅读更多
                使用GSON 解析JSON 数据

1、GSON 的介绍:
    GSON 是一个JAVA 库,可用于将JAVA 对象转换称JSON,它也可以被用于将一个JSON 字符串转换为等效的Java对象。
    GSON 可以与任意Java对象,包括预先存在的对象或者你没有源代码结合。
    背景:已经有很多开源项目,可以转换Java对象到JSON。然而,他们中大多数要求在你的类上使用元注释 Annotation,如果你没有源码,将不能给代码加上Java这些元注解。大多数人也并不完全支持Java泛型的使用。GSON 认为这些是非常重要的设计目标;


2、用法准备:
    下载GsonAPI:google-gson-1.7.1-release.zip ; 并投入使用,怎么用大家都明白

3、解析JSON数据的两种方法:
   
    (1): 通过获取JsonReader对象解析JSON数据;
    (2): 通过把JSON数据映射成一个对象,使用Gson对象的fromJson()方法获取一个对象数组进行操作;


4、案例:
package com.example.file;

import java.io.StringReader;
import java.net.Proxy.Type;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

import android.util.Log;

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

/**
 * GSON 解析 json 数据
 * @author Administrator
 *
 */
public class MyGson {

    /**
     * 使用JsonReader对象解析 JSON 数据
     * @throws Exception
     */
    public void jsonReader() throws Exception{
        String json = "[{\"name\":\"aa\",\"age\":20,\"score\":90},{\"name\":\"ff\",\"age\":21,\"score\":80}]";
        // 1、创建JsonReader 
        JsonReader reader = new JsonReader(new StringReader(json));
        reader.beginArray();
        while(reader.hasNext()){
            reader.beginObject();
            while(reader.hasNext()){
                String str = reader.nextName();
                if(str.equals("name")){
                    String name = reader.nextString();
                    Log.i("msg", "name:"+name);
                }
                if(str.equals("age")){
                    int age = reader.nextInt();
                    Log.i("msg", "age:"+age);
                }
                if(str.equals("score")){
                    int score = reader.nextInt();
                    Log.i("msg", "score:"+score);
                }
            }
            reader.endObject();
        }
        reader.endArray();
    }
    
    /**
     * 测试:
     * 把对象映射成JSON数据格式
     * java to json
     */
    public void tojson(){
    
        Student s1 = new Student("小黑",13, 90);
        Student s2 = new Student("小白",14, 70);
        Student s3 = new Student("小黄",15, 80);
        Student s4 = new Student("小绿",16, 100);
        List<Student> list = new ArrayList<Student>();
        list.add(s1);
        list.add(s2);
        list.add(s3);
        list.add(s4);
        Gson gson = new Gson();
        String s = gson.toJson(list);
        Log.i("msg", "对象映射称json格式为:"+s);
    }
    
    /**
     * 测试:
     * 通过把JSON 数据映成一个对象,使用GSON对象的fromJson()方法获取一个对象数组进行操作;
     * 
     * json to java
     * 
     * 如果要处理的JSON字符串只包含一个JSON 对象,则可以直接使用fromJson获取一个对象
     */
    public void fromjson(){
        Gson gson = new Gson();
        // 单个对象的操作
        String strjson = "{"+"\"name\":\"aa\",\"score\":90,\"age\":12"+"}";
        Student stu = gson.fromJson(strjson, Student.class); // 映射获取数据
        Log.i("msg", "姓名:"+stu.getName()+",年龄:"+stu.getAge());
        
        /* 多个对象的操作 */
        String json = "[{\"name\":\"aa\",\"age\":20,\"score\":90}," +
                "{\"name\":\"ff\",\"age\":21,\"score\":80}]";
        java.lang.reflect.Type listType = new TypeToken<LinkedList<Student>>(){}.getType();
        Gson gson1 = new Gson();
        LinkedList<Student> stus = gson1.fromJson(json, listType);
        for(Iterator  iterator=stus.iterator();iterator.hasNext();){
            Student st = (Student) iterator.next();
            Log.i("msg",st.getName());
        }
        
    }
}


使用GSON 解析 json数据必须用到一个jar包,下载jar包和源码地址:


分享到:
评论

相关推荐

    Android Studio下使用Google Gson解析Json数据示例

    本篇文章将详细介绍如何在Android Studio环境下使用Google Gson解析Json数据。 首先,我们需要在项目中引入Gson库。打开build.gradle模块文件,并在dependencies块中添加以下依赖: ```groovy dependencies { ...

    Gson解析json数据

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

    android中gson解析json数据例程

    本篇文章将详细介绍如何在Android应用中使用Gson库解析JSON数据,以便更好地理解这一关键知识点。 首先,我们要了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...

    使用Gson解析Json数据

    1、生成Json数据 2、使用Gson解析Json数据(单个json对象、json数组和json对象内嵌json数组) // 这里有两篇好心人的博文,有详细的讲解 http://www.jb51.net/article/32547.htm ...

    通过Gson解析Json文件

    要使用Gson解析JSON文件,首先需要在项目中引入Gson库。如果你的项目是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;com.google.code.gson&lt;/groupId&gt; &lt;artifactId&gt;gson &lt;version&gt;2.8.6 ``` ...

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

    在Android开发中,数据交换和存储经常涉及到JSON格式的数据。`Gson`是Google提供的一款强大的Java库,用于将Java对象转换为JSON字符串,以及将JSON数据转换回等效的Java对象。本教程将深入探讨如何使用Gson库解析...

    使用Gson解析json数据

    本教程将重点介绍如何使用Gson库在Java环境中解析JSON数据。 Gson是Google提供的一款开源库,它能够将Java对象转换为对应的JSON字符串,也可以将JSON数据反序列化为Java对象。这对于处理JSON数据非常方便。在本示例...

    Eclipse下使用Google Gson解析Json数据示例+Android Studio下使用Google Gson解析Json数据示例

    本文将详细介绍如何在Eclipse和Android Studio环境下使用Gson库来解析Json数据。 首先,我们来看Eclipse下的Gson使用示例。在Eclipse中,你需要先引入Gson库。这可以通过在项目构建路径中添加Gson的jar文件完成,...

    使用gson解析json

    使用Gson解析JSON JSON(JavaScript Object Notation)是一种轻量级的文本数据交换格式,独立于语言和平台,使用JavaScript语法来描述数据对象。JSON具有自我描述性,更易理解。JSON解析器和JSON库支持许多不同的...

    使用Gson解析json并且加载json中的网络图片

    在这个场景中,"使用Gson解析json并且加载json中的网络图片"涉及到的关键技术点包括Gson库的使用、JSON解析、ListView的填充以及网络图片的加载。 首先,我们要理解Gson的工作原理。Gson通过反射机制,能够自动地将...

    Android使用Kotlin利用Gson解析多层嵌套Json数据

    Android使用Kotlin利用Gson解析多层嵌套Json数据

    JSON、GSON解析json

    3. 使用GSON解析JSON: - 创建Java对象:首先,你需要创建对应的Java类,这些类的字段名应与JSON中的键对应。 - 创建Gson实例:`Gson gson = new Gson();` - 将JSON字符串转换为Java对象:`MyObject obj = gson....

    Android中使用Gson解析JSON数据的两种方法

    本文将详细介绍如何利用Google的Gson库在Android中解析JSON数据。 首先,为了在Android项目中使用Gson库,你需要从`code.google.com/p/google-gson/downloads/list`下载最新版本的GsonAPI,例如`google-gson-1.7.1-...

    GSON解析Json数据信息

    在本文中,我们将深入探讨如何使用GSON解析Json数据信息以及生成Json格式的数据。 ### 1. Gson库的引入 在Java项目中,首先需要引入Gson库。在给定的文件列表中,我们看到了`gson-2.2.4.jar`,这正是Gson的二进制...

    Gson解析网络数据显示到listview上,加入万能适配器,适配器就10行,大家可以复制包用

    Gson解析网络数据显示到listview上,加入万能适配器,适配器就10行,大家可以复制包用,在log日记查看完整的Json数据,listview上我显示了title给大家看效果,适配器只要10行左右,简单易懂。

    用gson解析json数据

    下面我们将详细探讨如何使用Gson来解析JSON数据,特别是处理JSON数组的情况。 首先,我们需要在项目中引入Gson库。如果你的项目是Maven工程,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;...

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

    在Android中,我们通常使用`org.json`库或`com.google.gson`库来解析JSON数据。 1. `org.json`库:这是Android SDK自带的一个轻量级库,主要用于解析简单的JSON数据。 - JSONObject:表示一个JSON对象,可以通过`...

    Gson解析(List和Map)格式json数据 - CSDN博客1

    【Gson解析JSON数据】 Gson是Google提供的一款强大的Java库,用于在Java对象和JSON数据之间进行映射。它可以将任何Java对象转换为它的JSON表示形式,反之亦然。在处理JSON数据时,我们经常遇到两种常见的数据结构:...

    利用HttpClient获取数据并用Gson解析Json数据

    本教程将专注于使用Apache HttpClient库获取网络数据,然后使用Google的Gson库解析JSON格式的数据。这是一个基础但重要的技能,对于任何想要与服务器进行交互的开发者来说都是必备的。 首先,我们需要了解`...

    Eclipse下使用Google Gson解析Json数据示例

    本教程将详细阐述如何在Eclipse环境中使用Gson来解析JSON数据。 首先,我们需要理解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于ECMAScript的一个子集,采用完全独立于语言的文本格式,...

Global site tag (gtag.js) - Google Analytics