`
hwy584624785
  • 浏览: 47099 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

json数据解析二

阅读更多

这一篇我们将采用Gson类来解析json数据。把json解析出的数据传递给Person对象,这样我们就可以从Person对象中获得我们想要的数据。

res/layout/main.xml中添加一个Button按钮:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<Button
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="开始json数据解析"
    android:id="@+id/button"
    />
</LinearLayout> 

 

由于为了方便,我把用到的类写在了一个java文件里面,代码如下:

import java.lang.reflect.Type;
import java.util.Iterator;
import java.util.LinkedList;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

public class JsonTestMy1 extends Activity {
    
	private String JsonData = "[{\"name\":\"huangwei\",\"age\":24,\"name\":\"lisi\",\"age\":36}]";
	private Button button = null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				JsonUtils.paresJsonData(JsonData);
			}
		});
    }
}

class JsonUtils {
	public static void paresJsonData(String str){
		//通过TypeToken对象获取type对象,由于TypeToken对象中的构造方法都是受保护的,
		//所以我们要生成TypeToken的实例通过TypeToken的getType()方法获取Type对象
		Type type = new TypeToken<LinkedList<Person>>(){}.getType();
		Gson gson = new Gson();
		LinkedList<Person> persons = gson.fromJson(str, type);
		for(Iterator<Person> iterator = persons.iterator();iterator.hasNext();){
			Person person = iterator.next();
			System.out.println(person.toString());
		}
	}
}

class Person {
	private String name;
	private int age;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return "Person [name=" + name + ", age=" + age + "]";
	}
}

以上就完成了简单的json数据的解析,并把数据放到一个javabean中,当然复杂的数据解析也是这个道理。 

分享到:
评论

相关推荐

    Android_JSON数据解析

    本篇将详细讲解如何在Android应用中解析JSON数据,主要涉及以下几个方面: 1. JSON基本结构 JSON由两种基本结构构成:对象(Object)和数组(Array)。对象是以花括号 `{}` 包围的键值对集合,键用双引号括起,如`...

    Android 实用的数据json数据解析封装类

    本篇文章将详细介绍如何创建一个实用的JSON数据解析封装类,以便快速有效地处理各种形式的JSON数据。 首先,我们需要引入一个JSON库,Android SDK本身包含了org.json库,但为了更强大的功能和更好的性能,推荐使用...

    Android中Json数据解析

    本教程将深入探讨在Android中如何解析和处理JSON数据。 首先,我们需要理解JSON的基本结构。JSON是一种基于键值对的数据表示方式,主要由对象(Object)和数组(Array)构成。对象用花括号 `{}` 包裹,键值对以冒号...

    PB解析json,解析JSON案例,解析jsondemo

    标题中的“PB解析json,解析JSON案例,解析jsondemo”表明了本文主要关注的是PowerBuilder(简称PB)如何处理JSON数据。在现代软件开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,...

    json复杂数据解析demo

    2. **加载JSON字符串**:获取到JSON数据后,第一步通常是将其转换为一个可操作的对象。在Python中,这可以通过`json.loads()`函数实现,将JSON字符串转化为Python字典或列表。在Java和JavaScript中,对应的函数分别...

    json 数据解析包

    标题提到的“json 数据解析包”是一组Java库,它们可以帮助开发者在Java环境中解析和操作JSON数据。以下是这些库的详细介绍: 1. **commons-collections-3.2.jar**:Apache Commons Collections是Apache软件基金会...

    json数据解析源码

    总的来说,这个“json数据解析源码”项目涵盖了从获取到解析JSON数据,再到对数据进行操作和输出的整个流程。在实际应用中,根据具体需求,可能还需要处理错误、验证数据格式、优化性能等方面的问题。理解并掌握这些...

    json离线解析工具

    2. **验证**:检查JSON数据是否符合语法规则。 3. **编辑**:允许用户直接在工具中修改JSON数据,添加或删除键值对。 4. **搜索/过滤**:查找特定的键或值,甚至可以过滤掉包含或不包含某些内容的项。 5. **导出**:...

    json数据解析json数据解析

    json数据解析

    基于Newtonsoft.Json实现Json数据解析和封装

    Newtonsoft.Json已经足够强大,易用性也没得说。但是在使用过程中存在着一个问题,如果数据不存在...JsonObject类和JsonArray类可以相互嵌套,支持原生类的JsonPath检索能力,满足Json数据解析和Json数据封装常见需求。

    基于python+pyqt+paho.mqtt 的MQTT客户端实现及json数据解析

    基于python+pyqt+paho.mqtt 的MQTT客户端实现及json数据解析 基于python+pyqt+paho.mqtt 的MQTT客户端实现及json数据解析 基于python+pyqt+paho.mqtt 的MQTT客户端实现及json数据解析 基于python+pyqt+paho.mqtt 的...

    奇葩json 数据 解析

    这个话题“奇葩json数据解析”就聚焦于如何处理那些不符合标准的JSON数据。 在描述中提到,使用AFNetworking(简称AFN)进行POST请求时遇到了一个问题:返回的数据不是标准的JSON格式,导致解析失败。AFNetworking...

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

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

    Json数据解析包

    在标题"Json数据解析包"中,我们可以理解为这是一个专门用于解析和处理JSON格式数据的工具包。在实际的编程工作中,解析JSON数据是相当常见的需求,例如从服务器获取响应数据、读取配置文件或者存储轻量级的数据结构...

    android中JSON数据解析

    在Android开发中,JSON...总的来说,Android中的JSON数据解析是通过理解JSON结构,结合`org.json`库或Gson库,以及适当的网络请求库来实现的。合理使用这些工具,能有效地处理和展示从服务器获取的JSON数据。

    HttpURLConnection获取json数据解析

    **二、JSON数据解析** JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Java中,可以使用`org.json`库来解析JSON数据。 1. **导入JSON库**:在...

    基于python+pyqt+paho.mqtt 的MQTT客户端实现及json数据解析(源码),开箱即用

    基于python+pyqt+paho.mqtt 的MQTT客户端实现及json数据解析(源码),开箱即用! 基于python+pyqt+paho.mqtt 的MQTT客户端实现及json数据解析(源码),开箱即用! 基于python+pyqt+paho.mqtt 的MQTT客户端实现及...

    kettle解析json串

    通过以上步骤,我们可以在Kettle中有效地解析JSON数据,并将其写入数据库中。这不仅可以提高数据处理的效率,还可以确保数据的一致性和准确性。此外,使用Java库如`JSON Simple`可以更加灵活地处理各种类型的JSON...

    用jquery解析JSON数据的方法

    用jquery解析JSON数据的方法,作为jquery异步请求的传输对象,jquery请求后返回的结果是json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,对于利用JSONObject等插件封装的JSON对象,与此亦是大同小异,这里...

    json格式解析工具

    2. **解析与显示**:工具解析JSON数据,并在界面上以树形结构呈现。 3. **浏览与操作**:用户可以通过展开/折叠节点,搜索特定内容,或者编辑数据。 4. **保存与导出**:如果需要,用户可以选择保存当前的JSON结构为...

Global site tag (gtag.js) - Google Analytics