`
syab11
  • 浏览: 201184 次
  • 性别: Icon_minigender_1
  • 来自: SH
社区版块
存档分类
最新评论

在android中解析json

阅读更多
android框架已经为我们集成了解析json的包


先一个简单的例子,json直接写在string中

String staticObject = "{\"firstname\":\"Steve\",\"lastname\":\"Jobs\",\"cellphones\":\"0\"}";

void buildObject()
{
	try
	{
		obj = new JSONObject(staticObject);
		String x = obj.get("firstname").toString() + " " + obj.get("lastname").toString() + " has " + obj.getInt("cellphones") + " Android phones.";
		setStatus(x);
	}
	catch (JSONException je)
	{
		setStatus("Error occured " + je.getMessage());
	}
}

void setStatus(String x)
{
	TextView tv = (TextView) findViewById(R.id.txtStatus);
	tv.setText(x);
}




将json写在文件中,并放在raw目录下
json形式为
{
"firstname":"Richard",
"lastname":"Stearns",
"almamater":"Cornell University",
"occupation":"President, World Vision",
"interview":
	{
		"source" : "http://blog.guykawasaki.com/2007/05/ten_or_so_quest.html#ixzz0giEIX0zY",
		"questions":
			[
			{
			"Question": "How much money does World Vision raise every year?",
			"Answer": "Worldwide, World Vision raises about $2 billion annually; the U.S. office, which I head up, raises about half of the total."
			},
			{
			"Question": "Is this the 80/20 rule where twenty percent of the people send in eighty percent of the money or are donations more spread out?",
			"Answer": "World Vision's strength is that we are supported by hundreds of thousands of faithful people who give us about a dollar a day by sponsoring children. Our \"major donors\" account for less than five percent of our total income. Also, for a non-profit, we have quite a diversified portfolio of revenue. Just over forty percent is cash from private citizens; thirty percent is government grants in food and cash; and about thirty percent are products donated from corporation--what we call \"gifts-in-kind.\""
			}
			]
	}
}




其中解析代码为
void buildObjectFromFile()
{
	try
	{
		String x = "";
		InputStream is = this.getResources().openRawResource(R.raw.interview);
		byte [] buffer = new byte[is.available()];
		while (is.read(buffer) != -1);
		String json = new String(buffer);
		obj = new JSONObject(json);
		x = obj.getString("firstname") + " " + obj.getString("lastname") + "n";
		x += obj.getString("occupation") + "n";

		JSONObject interview =  obj.getJSONObject("interview");
		x += "Interview source:" + interview.getString("source")  + "n";

		JSONArray questions = interview.getJSONArray("questions");
		x += "Number of questions: " + questions.length()  + "nn";

		int i;
		for (i=0;i<questions.length();i++)
		{
			JSONObject qa = questions.getJSONObject(i);
			x += "------------n";
			x += "Q" + (i+1) + ". " + qa.getString("Question") + "nn";
			x += "A" + (i+1) + ". " + qa.getString("Answer") + "n";
		}
		setStatus(x);
	}
	catch (Exception je)
	{
		setStatus("Error w/file: " + je.getMessage());
	}
}



转载:http://www.linux-mag.com/id/7717
分享到:
评论

相关推荐

    Android中Json数据解析

    在Android中,我们通常使用Google提供的Gson库或者org.json库来解析JSON数据。Gson库能够直接将JSON字符串转化为Java对象,反之亦然,非常方便。而org.json库提供了JSONObject和JSONArray类,可以手动解析和构建JSON...

    Android Studio解析JSON对象

    在Android Studio中解析JSON,通常使用的是`org.json`库,它包含两个主要类:`JSONObject`和`JSONArray`。`JSONObject`用于处理键值对,而`JSONArray`则处理有序的元素列表。 解析JSON对象的步骤如下: 1. **导...

    android 优化解析json例子

    首先,我们需要了解在Android中解析JSON的两种主要方法:`org.json`库和Gson库。`org.json`是Android SDK自带的库,适合简单的JSON解析;而Gson是Google提供的库,功能更强大,能够将JSON对象直接映射为Java对象,...

    android中JSON数据解析

    本篇将深入探讨如何在Android中解析JSON数据。 首先,我们需要了解JSON的基本结构。JSON数据可以表示为对象或数组,对象由键值对组成,用花括号{}包围,键和值之间用冒号隔开,多个键值对用逗号分隔;数组是一系列...

    Android 解析json_dome.zip

    2. **Android解析JSON的库** 在Android中,我们通常使用两种库来解析JSON数据: - `org.json`:这是Android SDK自带的库,提供了JSONObject和JSONArray类,可以方便地解析JSON对象和数组。 - `...

    android中的json解析

    本文将详细讲解如何在Android中解析JSON数据,包括普通形式和带有数组形式的JSON。 首先,让我们来看一下普通形式的JSON数据解析。以给定的示例为例,服务器返回的JSON数据如下: ```json { "userbean": { "Uid...

    android 动态解析获取json数据的键值对

    在Android中,我们可以使用`org.json`库或者Gson库来解析JSON。 在本项目中,我们假设有一个JSON文件存储在项目的`res/raw`目录下,因为这个目录通常用来存放非代码的资源文件,如音频、文本或JSON文件。例如,我们...

    Android解析JSON

    二、Android解析JSON 在Android中,我们通常使用两种方式解析JSON:Gson库和JSON-Parsing API(如`org.json`库)。 1. Gson库 Google提供的Gson库可以方便地将JSON字符串转换为Java对象,反之亦然。首先,你需要在...

    Android_JSON数据解析

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

    Android解析JSON格式

    ### Android解析JSON格式 在Android应用开发中,与服务器交互获取数据是常见需求之一,而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。因此,掌握...

    老罗android视频开发源码和ppt--android 解析json

    压缩包内的文件名称“android 解析json”可能是罗老师的课程实例代码,包含了演示如何在Android应用中解析JSON的源代码。通过这些源码,开发者可以学习到实际操作中的技巧和最佳实践,例如错误处理、性能优化等。 ...

    android json解析demo

    本示例将深入讲解如何在Android中解析JSON数据。 1. JSON基本结构: JSON基于JavaScript语法,但不依赖JavaScript执行环境。它由键值对(key-value pairs)组成,主要两种数据类型:对象(object)和数组(array)...

    Android json解析jar包

    本主题主要关注如何在Android中解析JSON数据,特别是使用Gson库,这是一个非常流行的Java库,由Google开发,专门用于将Java对象转换为JSON格式,反之亦然。 标题“Android json解析jar包”指的是在Android应用中...

    android 解析json数据

    2. Android解析JSON库: Android提供了两个内置库来处理JSON数据:`org.json`和`com.google.gson`。`org.json`库适用于简单的JSON操作,而`com.google.gson`库功能更强大,支持复杂对象的序列化和反序列化。 3. `...

    android JSON解析放入ListView

    // 在这里处理成功和失败的回调,解析JSON }); ``` - 解析数据: ```java try { String response = call.execute().body().string(); JSONObject jsonObject = new JSONObject(response); // 或者使用Gson...

    Android 解析json_demo

    本教程将深入探讨如何在Android中解析JSON数据。 首先,了解JSON的基本结构至关重要。JSON数据通常以键值对的形式存在,键用双引号括起来,后面跟着冒号,值与键之间用逗号分隔。例如: ```json { "name": "John...

    Android-06-解析json数据

    在Android开发中,解析JSON数据是一项常见的任务,用于与服务器进行数据交互。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。本篇将介绍三种在...

    Android Studio解析JSON数组

    在这个场景中,我们将探讨如何在Android Studio中解析JSON数组,并将获取的数据展示在ListView上。这个过程对于任何初学者来说都是一个重要的学习点,因为它涉及到网络数据获取、JSON解析以及UI展示。 首先,我们...

    Android应用源码之Android 解析json_dome.zip

    这个压缩包"Android应用源码之Android 解析json_dome.zip"提供了关于如何在Android应用中解析JSON的示例代码,对于学习Android开发中的网络数据处理非常有帮助。 首先,我们需要了解JSON的基本结构。JSON基于...

Global site tag (gtag.js) - Google Analytics