在android调用webservice时,经常要对json的格式进行处理,现在有两种方法
去处理:
1 使用JSONObject 和 JSONTokener去解析
2 使用GSON库
先看第一种方法,假如有如下的json字符串:
{
“name”: “myName”,
“message”: ["myMessage1","myMessage2"],
“place”: “myPlace”,
“date”: ”thisDate”
}
第一种解决方法:
public class main extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
TextView tv = (TextView)findViewById(R.id.TextView01);
String json = “{”
+ “ ”name”: ”myName”, ”
+ “ ”message”: [\"myMessage1\",\"myMessage2\"],”
+ “ ”place”: ”myPlace”, ”
+ “ ”date”: ”thisDate” ”
+ “}”;
/* Create a JSON object and parse the required values */
JSONObject object = (JSONObject) new JSONTokener(json).nextValue();
String name = object.getString(“name”);
String place = object.getString(“place”);
String date = object.getString(“date”);
JSONArray message = object.getJSONArray(“message”);
tv.setText(“Name: “+ name +” ”);
tv.append(“Place: “+ place +” ”);
tv.append(“Date: “+ date +” ”);
for(int i=0;i< p>
{
tv.append(“Message: “+ message.getString(i) +” ”);
}
2 使用GSON类库
GOOGLE提供的gson类库,地址在:
public class JSON_structure {
public String name;
public String place;
public String date;
public String[] message;
}
TextView tv = (TextView)findViewById(R.id.TextView01);
/* JSON data considered as an example. Generally this data is obtained
from a web service.*/
String json = “{”
+ “ ”name”: ”myName”, ”
+ “ ”message”: [\"myMessage1\",\"myMessage2\"],”
+ “ ”place”: ”myPlace”, ”
+ “ ”date”: ”thisDate” ”
+ “}”;
Gson gson = new Gson();
JSON_structure obj= gson.fromJson(json, JSON_structure.class);
tv.setText(“Name: “+ obj.name +” ”);
tv.append(“Place: “+ obj.place +” ”);
tv.append(“Date: “+ obj.date +” ”);
for(int i=0;i< p>
{
tv.append(“Message: “+ obj.message[i] +” ”);
}
分享到:
相关推荐
Retrofit是另一种流行的Android网络库,它允许更优雅地处理网络请求和响应,包括JSON解析。添加依赖: ```groovy implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation '...
总结,Android中的JSON解析包括本地和在线两种方式,都可以使用Android SDK内置的`org.json`包。在实际开发中,根据项目需求,可以选择最合适的解析策略,并确保正确处理各种异常情况,提升用户体验。
本教程将深入探讨在Android中如何解析和处理JSON数据。 首先,我们需要理解JSON的基本结构。JSON是一种基于键值对的数据表示方式,主要由对象(Object)和数组(Array)构成。对象用花括号 `{}` 包裹,键值对以冒号...
XML和JSON解析是Android应用开发中不可或缺的部分,选择合适的解析方式取决于数据的大小、应用场景以及性能需求。DOM适合小规模、结构复杂的XML,SAX适用于大文件;对于JSON,Gson和Jackson在性能和易用性上表现良好...
在Android开发中,有时我们需要从服务器获取JSON数据并解析它以展示在应用中。...这展示了Android开发中的灵活性,以及如何有效地处理JSON数据,对于初学者和有经验的开发者都是一个有价值的实践。
在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的...综上,Android中将JSON解析并放入ListView涉及到网络请求、JSON解析、数据绑定等多个环节,通过合理的设计和优化,可以构建出高效、流畅的应用。
在Android Studio中解析JSON,通常使用的是`org.json`库,它包含两个主要类:`JSONObject`和`JSONArray`。`JSONObject`用于处理键值对,而`JSONArray`则处理有序的元素列表。 解析JSON对象的步骤如下: 1. **导...
在Android开发中,JSON(JavaScript Object Notation)是一种常见的数据交换格式,用于在客户端和服务器之间传输数据。本文将详细讲解如何在Android中解析JSON数据,包括普通形式和带有数组形式的JSON。 首先,让...
这个“android demo”显然是一个展示如何在Android平台上处理JSON数据、发送JSON字符串以及进行JSON解析的示例项目。下面将详细阐述相关知识点。 一、JSON基础知识 1. JSON格式:JSON采用键值对的形式存储数据,键...
在“Android Json 解析demo”项目中,可能包含了创建JSON解析器的代码示例,以及如何在Android Studio中运行和测试这些功能的步骤。你可以通过查看项目中的JsonDemo文件来学习具体的实现细节,包括如何读取网络上的...
在Android开发中,JSON作为一种轻量级的数据交换格式,被广泛用于网络通信和数据存储。在处理大量JSON数据时,解析速度就显得尤为重要,因为它...在Android开发中,选择合适的JSON解析库是提升整体应用性能的关键一环。
总结来说,这个Demo涵盖了Android中获取网络数据的关键技术:使用HttpClient发起HTTP请求,通过JSON解析获取数据,以及使用AsyncTask实现异步加载以避免阻塞主线程。这些技能对于任何需要与服务器交互的Android应用...
在Android中,由于JSON解析可能涉及到网络操作,通常需要在子线程中进行,以免阻塞UI线程。可以使用`AsyncTask`、`Handler`、`RxJava`等工具进行异步处理。同时,注意在多线程环境下,要确保`JSONObject`和`...
在Android中,JSON解析主要包括两个方向:解析JSON字符串为Java对象(反序列化)和将Java对象转换为JSON字符串(序列化)。 **原生JSON解析** Android SDK自API Level 9起提供了org.json库,包含JSONObject和...
本篇文章将深入探讨Android平台上的JSON解析源码,帮助你更好地理解和优化你的应用性能。 一、JSON基本结构 JSON主要包含两种数据结构:对象和数组。对象是键值对的集合,用花括号{}包围,键由双引号包围,如`{...
JSON因其轻量级、易读性和易于处理的特点,被广泛应用于移动应用中,包括Android平台。本篇将深入探讨如何在Android中解析JSON数据。 首先,我们需要了解JSON的基本结构。JSON数据可以表示为对象或数组,对象由键值...
笔者近期做到对天气预报JSON数据解析,在此小记。 天气预报接口:http://wthrcdn.etouch.cn/weather_mini?citykey=101200101 JSON数据如下: { desc: OK, status: 1000, data: { wendu: 14, ganmao: 天气...
二、Android中的JSON解析库 在Android中,我们通常使用以下两个库来处理JSON数据: 1. **org.json**:这是Android SDK自带的一个解析库,适用于简单的JSON操作。 2. **Gson**:Google提供的库,能将Java对象直接...
在Android开发中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,因其轻量级...在实际开发中,可以根据项目需求选择合适的网络库和JSON解析库,同时注意线程安全和错误处理,确保应用的稳定性和性能。
这个过程对于任何初学者来说都是一个重要的学习点,因为它涉及到网络数据获取、JSON解析以及UI展示。 首先,我们需要了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...