- 浏览: 7935854 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
在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 使用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();}
}
}
发表评论
-
『Google发布移动Web性能工具PCAP Web Performance Analyzer』
2015-01-06 14:17 2234http://t.cn/RZcCwZS 最近,Google的 ... -
(收藏)在WebView中如何让JS与Java安全地互相调用
2014-11-11 09:59 870在WebView中如何让JS与Java安全地互相调用 http ... -
android中的两端对齐
2013-02-08 18:58 3143在android中的webview中,可以对文本内容进行对 ... -
jQuery Mobile十大常用技巧
2012-10-12 07:23 4273原文发表在: http://mobile.51cto.com/ ... -
Android中使用log4j
2012-10-09 20:22 18332如果要直接在android工程中使用log4j,是有点问题 ... -
收集android的三个小tip
2012-08-25 11:24 2147收集android的三个小tip 1)Android 开发中 ... -
andorid中的html.fromhtml方法
2012-08-19 21:24 8847在android中,有一个容易遗忘的Html.fromht ... -
一个不错的sencha touch MVC教程分享
2012-08-18 10:06 2866http://blog.csdn.net/fyq891014/ ... -
jquery mobile中的按钮大集合
2012-08-14 22:17 3937本文小结了jquery mobile ... -
Andrid中的plurals
2012-08-10 19:29 1751在Android中的字符串资源中,今天留意到一个很特别的东 ... -
Android中listview中的button
2012-08-08 12:56 1980在androd中的listview中,假如每一项是个buu ... -
如何有更好的Android应用创意--从一款新Android应用说起
2012-07-20 14:23 5720现在这个年头,Android ... -
android中判断网络是否连接
2012-07-12 23:19 2937在android中,如何监测网络的状态呢,这个有的时候也是十分 ... -
android中设置手机的语言系
2012-05-19 15:55 2759adb shell 进入Android的Shell,输入以下命 ... -
android 按钮设计中state_selected属性
2012-05-15 22:33 8498在android中,如果搞几个tab,然后想做到当移动到某个T ... -
android中从图库中选取图片
2012-05-11 21:03 10286在android中,如何从图库gallary中挑选图片呢, ... -
android 模拟器中启用相机API支持
2012-05-10 22:37 3186android 模拟器中启用相机支持,否则如果应用中用到相关的 ... -
(转)向android模拟器打电话发短信的简单方法
2012-04-13 13:00 2000http://blog.csdn.net/pku_androi ... -
android 中让activity全屏幕显示
2012-04-12 09:06 1686android 中让activity全屏幕显示,这是一个小ti ... -
在Android中加入GOOGLE统计系统
2012-03-31 20:43 3462Google的统计分析系统,不仅在传统WEB统计中应用很广 ...
相关推荐
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文件来学习具体的实现细节,包括如何读取网络上的...
总结来说,这个Demo涵盖了Android中获取网络数据的关键技术:使用HttpClient发起HTTP请求,通过JSON解析获取数据,以及使用AsyncTask实现异步加载以避免阻塞主线程。这些技能对于任何需要与服务器交互的Android应用...
在Android开发中,JSON作为一种轻量级的数据交换格式,被广泛用于网络通信和数据存储。在处理大量JSON数据时,解析速度就显得尤为重要,因为它...在Android开发中,选择合适的JSON解析库是提升整体应用性能的关键一环。
在Android中,由于JSON解析可能涉及到网络操作,通常需要在子线程中进行,以免阻塞UI线程。可以使用`AsyncTask`、`Handler`、`RxJava`等工具进行异步处理。同时,注意在多线程环境下,要确保`JSONObject`和`...
本篇文章将深入探讨Android平台上的JSON解析源码,帮助你更好地理解和优化你的应用性能。 一、JSON基本结构 JSON主要包含两种数据结构:对象和数组。对象是键值对的集合,用花括号{}包围,键由双引号包围,如`{...
在Android中,JSON解析主要包括两个方向:解析JSON字符串为Java对象(反序列化)和将Java对象转换为JSON字符串(序列化)。 **原生JSON解析** Android SDK自API Level 9起提供了org.json库,包含JSONObject和...
这个过程对于任何初学者来说都是一个重要的学习点,因为它涉及到网络数据获取、JSON解析以及UI展示。 首先,我们需要了解JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也...
JSON因其轻量级、易读性和易于处理的特点,被广泛应用于移动应用中,包括Android平台。本篇将深入探讨如何在Android中解析JSON数据。 首先,我们需要了解JSON的基本结构。JSON数据可以表示为对象或数组,对象由键值...
在Android开发中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,因其轻量级...在实际开发中,可以根据项目需求选择合适的网络库和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对象直接...