`

Android中对json的解析和处理

阅读更多
在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 +”\n\n”);

tv.append(“Place: “+ place +”\n\n”);

tv.append(“Date: “+ date +”\n\n”);

for(int i=0;i<message.length();i++)

{

tv.append(“Message: “+ message.getString(i) +”\n\n”);

}
2 使用GSON类库
   GOOGLE提供的gson类库,地址在:
代码如下:
public class JSON_structure {
public String name;
public String place;
public String date;
public String[] message;
}

这其实是个POJO类
try {

/* Inflate TextView from the layout */

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 +”\n\n”);

tv.append(“Place: “+ obj.place +”\n\n”);

tv.append(“Date: “+ obj.date +”\n\n”);

for(int i=0;i<obj.message.length;i++)

{

tv.append(“Message: “+ obj.message[i] +”\n\n”);

}

}

catch(Exception ex){ex.printStackTrace();}

}


} catch (JSONException e) {e.printStackTrace();}

catch(Exception ex){ex.printStackTrace();}

}

}

1
2
分享到:
评论

相关推荐

    Android_JSON数据解析

    Retrofit是另一种流行的Android网络库,它允许更优雅地处理网络请求和响应,包括JSON解析。添加依赖: ```groovy implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation '...

    Android 安卓 json解析

    总结,Android中的JSON解析包括本地和在线两种方式,都可以使用Android SDK内置的`org.json`包。在实际开发中,根据项目需求,可以选择最合适的解析策略,并确保正确处理各种异常情况,提升用户体验。

    Android中Json数据解析

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

    Android XML和JSON解析代码

    XML和JSON解析是Android应用开发中不可或缺的部分,选择合适的解析方式取决于数据的大小、应用场景以及性能需求。DOM适合小规模、结构复杂的XML,SAX适用于大文件;对于JSON,Gson和Jackson在性能和易用性上表现良好...

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

    在Android开发中,有时我们需要从服务器获取JSON数据并解析它以展示在应用中。...这展示了Android开发中的灵活性,以及如何有效地处理JSON数据,对于初学者和有经验的开发者都是一个有价值的实践。

    android JSON解析放入ListView

    在Android开发中,JSON(JavaScript Object Notation)是一种轻量级的...综上,Android中将JSON解析并放入ListView涉及到网络请求、JSON解析、数据绑定等多个环节,通过合理的设计和优化,可以构建出高效、流畅的应用。

    Android Studio解析JSON对象

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

    android中的json解析

    在Android开发中,JSON(JavaScript Object Notation)是一种常见的数据交换格式,用于在客户端和服务器之间传输数据。本文将详细讲解如何在Android中解析JSON数据,包括普通形式和带有数组形式的JSON。 首先,让...

    android demo,json数据的处理,json字符串的发送和解析。

    这个“android demo”显然是一个展示如何在Android平台上处理JSON数据、发送JSON字符串以及进行JSON解析的示例项目。下面将详细阐述相关知识点。 一、JSON基础知识 1. JSON格式:JSON采用键值对的形式存储数据,键...

    Android Json 解析demo

    在“Android Json 解析demo”项目中,可能包含了创建JSON解析器的代码示例,以及如何在Android Studio中运行和测试这些功能的步骤。你可以通过查看项目中的JsonDemo文件来学习具体的实现细节,包括如何读取网络上的...

    Android HttpClient与Json解析

    总结来说,这个Demo涵盖了Android中获取网络数据的关键技术:使用HttpClient发起HTTP请求,通过JSON解析获取数据,以及使用AsyncTask实现异步加载以避免阻塞主线程。这些技能对于任何需要与服务器交互的Android应用...

    Android解析json速度对比

    在Android开发中,JSON作为一种轻量级的数据交换格式,被广泛用于网络通信和数据存储。在处理大量JSON数据时,解析速度就显得尤为重要,因为它...在Android开发中,选择合适的JSON解析库是提升整体应用性能的关键一环。

    Android Json解析

    在Android中,由于JSON解析可能涉及到网络操作,通常需要在子线程中进行,以免阻塞UI线程。可以使用`AsyncTask`、`Handler`、`RxJava`等工具进行异步处理。同时,注意在多线程环境下,要确保`JSONObject`和`...

    Android 的 JSON解析源码

    本篇文章将深入探讨Android平台上的JSON解析源码,帮助你更好地理解和优化你的应用性能。 一、JSON基本结构 JSON主要包含两种数据结构:对象和数组。对象是键值对的集合,用花括号{}包围,键由双引号包围,如`{...

    Android(全JSON解析含第三方jar包)

    在Android中,JSON解析主要包括两个方向:解析JSON字符串为Java对象(反序列化)和将Java对象转换为JSON字符串(序列化)。 **原生JSON解析** Android SDK自API Level 9起提供了org.json库,包含JSONObject和...

    Android Studio解析JSON数组

    这个过程对于任何初学者来说都是一个重要的学习点,因为它涉及到网络数据获取、JSON解析以及UI展示。 首先,我们需要了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...

    android中JSON数据解析

    JSON因其轻量级、易读性和易于处理的特点,被广泛应用于移动应用中,包括Android平台。本篇将深入探讨如何在Android中解析JSON数据。 首先,我们需要了解JSON的基本结构。JSON数据可以表示为对象或数组,对象由键值...

    android采用json解析数据的实例

    在Android开发中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,因其轻量级...在实际开发中,可以根据项目需求选择合适的网络库和JSON解析库,同时注意线程安全和错误处理,确保应用的稳定性和性能。

    android JSON解析数据 android解析天气预报

    笔者近期做到对天气预报JSON数据解析,在此小记。 天气预报接口:http://wthrcdn.etouch.cn/weather_mini?citykey=101200101 JSON数据如下: { desc: OK, status: 1000, data: { wendu: 14, ganmao: 天气...

    Android JSON数据的封装及解析

    二、Android中的JSON解析库 在Android中,我们通常使用以下两个库来处理JSON数据: 1. **org.json**:这是Android SDK自带的一个解析库,适用于简单的JSON操作。 2. **Gson**:Google提供的库,能将Java对象直接...

Global site tag (gtag.js) - Google Analytics