- 浏览: 22126 次
最新评论
1 。 什么是JSON
就是现在网络上比较流行的数据交换格式 , 在网络上比较通用的数据交换格式呢就是XML ,在二个异构系统当中,进行数据交换,XMl是最好的选择,最近几年呢,这个JSON以体积小解码方便
谷歌提供的API将JSON数据转换为JAVA数据,
1 . JSON:JavaScript Object Notatoin
JSON这种数据来源于javascrip,
2 。 JSON数据是一系列键值对的集合
JSON VS XML
A:二者的数据可读性基本相同
B:二者同样拥有丰富的解析手段
C:JSON的体积更小
D:JSON与JS交互更加方便
E:JSON对数据的描述性相对差
一个JSON例子:
中括号代表可以放很多个JSON对象
layout布局文件中
mainAcitvity文件:
JsonUtils.java
Json解析的第二种用法
1、 创建一个Activity文件,
创建一个User.java文件
JsonUtils.java 文件
当是多个对象时,将JsonUtils.java文件改下
就是现在网络上比较流行的数据交换格式 , 在网络上比较通用的数据交换格式呢就是XML ,在二个异构系统当中,进行数据交换,XMl是最好的选择,最近几年呢,这个JSON以体积小解码方便
谷歌提供的API将JSON数据转换为JAVA数据,
1 . JSON:JavaScript Object Notatoin
JSON这种数据来源于javascrip,
2 。 JSON数据是一系列键值对的集合
JSON VS XML
A:二者的数据可读性基本相同
B:二者同样拥有丰富的解析手段
C:JSON的体积更小
D:JSON与JS交互更加方便
E:JSON对数据的描述性相对差
一个JSON例子:
{ "name":"Michael" "address": { "city":"Biejing" "street":"Chaoyang Road" } }
中括号代表可以放很多个JSON对象
layout布局文件中
<Button android:id="@+id/buttonId" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="测试" />
mainAcitvity文件:
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class TestJson01Activity extends Activity { /** Called when the activity is first created. */ private String jsonDate = "[{\"name\":\"Machael\",\"age\":21},{\"name\":Mike\",\"age\":30}]"; private Button button = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button)findViewById(R.id.buttonId); button.setOnClickListener(new ButtonListener()); } private class ButtonListener implements OnClickListener { @Override public void onClick(View v) { // TODO Auto-generated method stub JsonUtils jsonUtils = new JsonUtils(); jsonUtils.parseJson(jsonDate); } } }
JsonUtils.java
import java.io.StringReader; import com.google.gson.stream.JsonReader; public class JsonUtils { public void parseJson(String jsonDate) { try { //如果需要解析Json数据,首先要生成一个JsonReader对象 JsonReader jsonReader = new JsonReader(new StringReader(jsonDate)); jsonReader.beginArray(); while (jsonReader.hasNext()) { jsonReader.beginObject(); while (jsonReader.hasNext()) { String tagName = jsonReader.nextName(); if (tagName.equals("name")) { System.out.println("name--->"+jsonReader.nextString()); } else if (tagName.equals("age")) { System.out.println("age--->"+jsonReader.nextInt()); } } jsonReader.endObject(); } jsonReader.endArray(); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } }
Json解析的第二种用法
1、 创建一个Activity文件,
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class TestJson02Activity extends Activity { /** Called when the activity is first created. */ private String jsonDate = "{\"name\":\"Machael\",\"age\":21}"; private Button button = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button)findViewById(R.id.buttonId); button.setOnClickListener(new ButtonListener()); } private class ButtonListener implements OnClickListener { @Override public void onClick(View v) { // TODO Auto-generated method stub JsonUtils jsonUtils = new JsonUtils(); jsonUtils.parseUserFromJson(jsonDate); } } }
创建一个User.java文件
public class User { 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; } }
JsonUtils.java 文件
public class JsonUtils { public void parseUserFromJson(String jsonDate) { //创建Gson对象 Gson gson = new Gson(); //将JsonDate转化为User对象 User user = gson.fromJson(jsonDate, User.class); System.out.println("name--->"+user.getName()); System.out.println("age--->"+user.getAge()); } }
当是多个对象时,将JsonUtils.java文件改下
public class JsonUtils { public void parseUserFromJson(String jsonDate) { Type listType = new TypeToken<LinkedList<User>>() { }.getType(); //创建Gson对象 Gson gson = new Gson(); LinkedList<User> users = gson.fromJson(jsonDate, listType); for (Iterator iterator = users.iterator(); iterator.hasNext();) { User user = (User) iterator.next(); System.out.println("name--->"+user.getName()); System.out.println("name--->"+user.getAge()); } } }
发表评论
-
SQLite数据库
2011-10-21 11:12 10371。从www.sqlite.org下载SQLite 3.3.4 ... -
android中的有道词典实例
2011-10-19 22:51 9251、布局文件main.xml <?xml version ... -
mars老师的googleMap示例(二)
2011-10-15 17:14 913manifest.xml文件 <?xml version ... -
mars老师的googleMap(一)
2011-10-15 10:43 850一、申请 Apikey Apikey Apikey Apike ... -
Intent在android中的几种用法
2011-10-14 09:26 797如果是从BroadcastReceiver 启动一个新的Act ... -
基于Service与ContentProvider的音乐播放实例
2011-10-13 23:37 768Android的核心也就是Activi ... -
android之用户定位(一)
2011-10-13 19:53 17171、User Location 能做什么 1) 获取用户的位置 ... -
android之蓝牙操作(二)
2011-10-13 18:43 13281、修改本蓝牙设备的可见性 2、扫描周围可用蓝牙设备 步骤: ... -
android之蓝牙操作(一)
2011-10-13 16:35 1255与蓝牙相关的API 1、BluetoothAdapter ... -
Android学习之JSON数据解析
2011-10-12 13:30 710在Android应用开发中,常用的数据交换格式有XML和JSO ... -
Animations的使用(六)
2011-10-11 17:44 1306LayoutAnimationController的使用方法( ... -
Animations的使用(五)
2011-10-11 17:41 7381 AnimationSet的使用方法 什么是Animat ... -
Animations使用 (四)
2011-10-11 17:36 580Animations的第二种使用方法(第一种见1) 步骤: ... -
android面试
2011-10-10 21:12 794为什么要用ContentProvider?它和sql的实现上有 ... -
android中的animations的用法(三)
2011-10-10 21:07 752一 LayoutAnimationController ... -
android中的animations的用法(二)
2011-10-10 20:59 801一 AnimationSet 的用法 二 Interpol ... -
android中的animations的用法 (一)
2011-10-10 20:56 1354Animations 可分为两大类: 一 Tweened A ...
相关推荐
Retrofit是另一种流行的Android网络库,它允许更优雅地处理网络请求和响应,包括JSON解析。添加依赖: ```groovy implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation '...
总结,Android中的JSON解析包括本地和在线两种方式,都可以使用Android SDK内置的`org.json`包。在实际开发中,根据项目需求,可以选择最合适的解析策略,并确保正确处理各种异常情况,提升用户体验。
在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得人和机器都能容易地读取和编写数据。...通过不断实践,你可以更加灵活地运用这些工具,解决各种复杂的JSON解析问题。
理解并能熟练运用JSON解析对于一个Android开发者来说至关重要。本篇文章将深入探讨Android平台上的JSON解析源码,帮助你更好地理解和优化你的应用性能。 一、JSON基本结构 JSON主要包含两种数据结构:对象和数组。...
综上所述,"android采用json解析数据的实例"涵盖了从网络请求JSON数据、解析JSON、到将数据绑定到UI的全过程。学习这个实例有助于开发者深入理解Android中如何有效地处理网络数据,提高应用的用户体验。在实际开发中...
在Android开发中,有时我们需要从服务器获取JSON数据并解析它以展示在应用中。这个"android 动态解析获取json数据的键值对"的项目就是针对这种情况的一个实例,主要展示了如何在Eclipse环境下,不预先创建JSON键值...
2. Android中的JSON解析库: - `org.json`:Android SDK自带的JSON解析库,支持JSONObject和JSONArray的基本操作。 - `com.google.code.gson`: Google提供的Gson库,能将Java对象直接转换为JSON字符串,反之亦然,...
在Android开发中,JSON作为一种轻量级的数据交换格式,被广泛用于网络通信和数据存储。在处理大量JSON数据时,解析速度就显得尤为重要,因为它...在Android开发中,选择合适的JSON解析库是提升整体应用性能的关键一环。
android封装的json解析,可以直接解析对象或者list 如果有不明白的地方,可以联系我: QQ:840950105 Email:vipa1888@163.com Author:spring sky
在“Android Json 解析demo”项目中,可能包含了创建JSON解析器的代码示例,以及如何在Android Studio中运行和测试这些功能的步骤。你可以通过查看项目中的JsonDemo文件来学习具体的实现细节,包括如何读取网络上的...
笔者近期做到对天气预报JSON数据解析,在此小记。 天气预报接口:http://wthrcdn.etouch.cn/weather_mini?citykey=101200101 JSON数据如下: { desc: OK, status: 1000, data: { wendu: 14, ganmao: 天气...
9. **测试**:为了确保JSON解析的正确性,编写单元测试和集成测试是必要的。JUnit、Mockito等工具可以帮助进行测试。 在"06.android解析json数据(ppt&源码)"这个文件中,可能包含了讲解PPT和实际的源码示例。通过...
在Android Studio中解析JSON,通常使用的是`org.json`库,它包含两个主要类:`JSONObject`和`JSONArray`。`JSONObject`用于处理键值对,而`JSONArray`则处理有序的元素列表。 解析JSON对象的步骤如下: 1. **导...
在这个主题中,我们将深入探讨Android中JSON解析的基本概念、常用库以及实际应用。 1. JSON基础知识 JSON是一种文本格式,它基于JavaScript语法,但独立于语言。它以键值对的形式存储数据,易于阅读和编写,同时也...
本教程将深入讲解Android客户端和服务器端如何进行JSON解析。 一、JSON基础 JSON是一种轻量级的文本格式,它基于JavaScript的一个子集。数据格式简单,易于人阅读和编写,同时也易于机器解析和生成。基本数据类型...
以下是一些关于Android中JSON解析的关键知识点: 1. **Gson库**:Google提供的Gson库是一个强大的JSON库,它能够将Java对象转换为JSON字符串,同时也能将JSON字符串反序列化为Java对象。使用Gson可以非常方便地处理...
二、Android中的JSON解析 在Android中,我们通常使用`org.json`库或`com.google.gson`库来解析JSON数据。 1. `org.json`库:这是Android SDK自带的一个轻量级库,主要用于解析简单的JSON数据。 - JSONObject:...
本教程将详细介绍如何在Android客户端进行JSON解析,以获取并处理来自Web服务器的数据。 首先,理解JSON的基本结构至关重要。JSON是一种基于文本的格式,它以键值对的形式存储数据,类似于JavaScript的对象。一个...
在Android开发中,JSON(JavaScript Object Notation)是一种常见的数据交换格式,用于在客户端和...在实际开发中,可以使用Gson库或其他现代库如Retrofit+Moshi,它们提供了更简洁、安全且性能高效的JSON解析方式。
这个过程对于任何初学者来说都是一个重要的学习点,因为它涉及到网络数据获取、JSON解析以及UI展示。 首先,我们需要了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...