- 浏览: 449064 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
supertangcugu:
文中有个错误,SoftReference是软引用,Strong ...
WeakReference与SoftReference -
somefuture:
我每次走到movie.draw(canvas,0, 0); ...
利用Movie播放GIF -
鞠文婷:
徐颖慧 写道为什么打不开啊?额 果然打不开了。。
50个Android开发人员必备UI效果源码[转载] -
徐颖慧:
为什么打不开啊?
50个Android开发人员必备UI效果源码[转载] -
李白625:
为什么打不开啊
50个Android开发人员必备UI效果源码[转载]
[/color]用习惯了XML,总觉得JSON可读性又差,也不好保存等等,到真正接触了,才发现在android上,JSON就像亲儿子一样容易管教。
还是先看数据源,数据源我采用的是一系列的村民集合,村民的属性如下。
先看写数据,数据是我假定一个村的数据,由一个arraylist填装。通过一个for循环很容易取出了arraylist中的每个对象以及其数据,每个对象,即村民都可以生成一个JSONobject,这里json和java面向对象的思想是多么吻合。prey load!
其次还有一个JSONarray对象,就是一个JSON自己的Arraylist。好比我们把自己的对象转存到一个Json对象中,从我们的Arraylist中取出来,再装进一个Json的Arraylist。好比我把一个个村名从一辆大卡车上接下来(从自己的ArrayList取),把他们穿戴整齐了(装进Json对象中),再挥挥手把他们送上火星游的太空飞船(jsonArray),临走我在飞船上挂上了village的标签,火星上的同事会知道我的村民坐的是哪艘船。所有工序完成。
看代码
愉快的时间总是过的特别快,村民们要回家了。这时候来了一辆宇宙飞船,上面挂着我临走时贴上的标签,看来是相亲门回家了。(得到了JSONarray的对象)。打开舱门,乡亲们陆陆续续的走了下来,我为每个人做了次详细的检查,保证不会让奇怪的生物混进来,乡亲们神清气爽的重回地球表面。(循环中取出JSONArray中的JSON对象,并装填到我们自己的对象中,并存入arraylist)
上代码
JSON的读写在android很简单,出奇的简单,让我这个准备花一个周五下午的人后面变得十分蛋疼的来写日志。
总的来说还有些小地方需要注意
JSONArray中添加json对象的方法不是用的add而是put
.object和endObject成对出现 这很像XML写里面的starttag和endtag
最后我将一些的村民数据做为了一个village json对象的value,真的把这个Json对象幻想成了一艘宇宙飞船。。。
还是先看数据源,数据源我采用的是一系列的村民集合,村民的属性如下。
public class Folk { String name; String career; String age; int salary; boolean sex;
引用
先看写数据,数据是我假定一个村的数据,由一个arraylist填装。通过一个for循环很容易取出了arraylist中的每个对象以及其数据,每个对象,即村民都可以生成一个JSONobject,这里json和java面向对象的思想是多么吻合。prey load!
其次还有一个JSONarray对象,就是一个JSON自己的Arraylist。好比我们把自己的对象转存到一个Json对象中,从我们的Arraylist中取出来,再装进一个Json的Arraylist。好比我把一个个村名从一辆大卡车上接下来(从自己的ArrayList取),把他们穿戴整齐了(装进Json对象中),再挥挥手把他们送上火星游的太空飞船(jsonArray),临走我在飞船上挂上了village的标签,火星上的同事会知道我的村民坐的是哪艘船。所有工序完成。
看代码
public class MyJsonWriter { ArrayList<Folk> folks; File saveFile; public MyJsonWriter(ArrayList<Folk> folks){ this.folks=folks; } public void setFilePath(String filepath){ saveFile=new File(filepath); try { saveFile.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public String getJsonData(){ String jsonData = null; // String jsonData=new JSONStringer().object().key("village").value("abc").endObject().toString(); try { StringBuilder builder=new StringBuilder(); ArrayList<String> folksData=new ArrayList<String>(); JSONArray array=new JSONArray(); for(int i=0;i<folks.size();i++){ Folk folk=folks.get(i); JSONObject jsonObject=new JSONObject(); jsonObject.put("name", folk.getName()); jsonObject.put("sex", folk.isSex()?"male":"female"); jsonObject.put("age", folk.getAge()); jsonObject.put("career", folk.getCareer()); jsonObject.put("salary", folk.getSalary()); folksData.add(jsonObject.toString()); array.put(jsonObject); } // JSONArray jsonArray=new JSONArray(folksData); int len = array.length(); jsonData=new JSONStringer().object().key("vallage").value(array).endObject().toString(); System.out.println(jsonData); writeData(jsonData); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } return jsonData; } private void writeData(String jsonData) { // TODO Auto-generated method stub try { BufferedReader reader=new BufferedReader(new StringReader(jsonData)); BufferedWriter writer=new BufferedWriter(new FileWriter(saveFile)); int len=0; char[] buffer=new char[1024]; while((len=reader.read(buffer))!=-1){ writer.write(buffer, 0, len); } writer.flush(); writer.close(); reader.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
引用
愉快的时间总是过的特别快,村民们要回家了。这时候来了一辆宇宙飞船,上面挂着我临走时贴上的标签,看来是相亲门回家了。(得到了JSONarray的对象)。打开舱门,乡亲们陆陆续续的走了下来,我为每个人做了次详细的检查,保证不会让奇怪的生物混进来,乡亲们神清气爽的重回地球表面。(循环中取出JSONArray中的JSON对象,并装填到我们自己的对象中,并存入arraylist)
上代码
public class MyJsonReader { String jsonData; // ArrayList<Folk> folks; public MyJsonReader(String jsonData){ this.jsonData=jsonData; } public ArrayList<Folk> getJsonData(){ ArrayList<Folk> folks=new ArrayList<Folk>(); try { JSONObject jsonObject=new JSONObject(jsonData); JSONArray jsonArray=jsonObject.getJSONArray("vallage"); int len = jsonArray.length(); for(int i=0;i<jsonArray.length();i++){ JSONObject json=jsonArray.getJSONObject(i); Folk folk=new Folk(); folk.setName(json.optString("name")); folk.setAge(json.optString("age")); folk.setCareer(json.optString("career")); folk.setSalary(json.optInt("salary")); folk.setSex(json.optString("sex").equals("male")?true:false); folks.add(folk); } } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } return folks; } }
JSON的读写在android很简单,出奇的简单,让我这个准备花一个周五下午的人后面变得十分蛋疼的来写日志。
总的来说还有些小地方需要注意
JSONArray中添加json对象的方法不是用的add而是put
jsonData=new JSONStringer().object().key("vallage").value(array).endObject().toString();
.object和endObject成对出现 这很像XML写里面的starttag和endtag
最后我将一些的村民数据做为了一个village json对象的value,真的把这个Json对象幻想成了一艘宇宙飞船。。。
- ListViewAnimation.rar (73 KB)
- 下载次数: 204
发表评论
-
Android OpenGL库函数列表
2014-11-26 10:44 1267Android OpenGL库函数列表 OpenGl核 ... -
FFmpeg Android部分的编译
2014-06-19 17:09 1245编译的是最新版2.2.3。再说编译环境 操作系统 ubun ... -
AVPacket与AVFrame的关系
2014-06-19 16:19 10075最近在做ffmpeg相关的项目,满眼的AVPacket和AV ... -
WebView 自适应全屏
2013-10-30 11:29 5295网上有通行的3中方法 写道 第一种: settings ... -
NDK调试
2013-10-24 16:41 5887大体根据官方攻略 http://tools.android ... -
adb logcat 打印输出
2013-08-06 11:43 3159深圳公司的同事在测试的时候遇到一些bug 我这边没办法重 ... -
android上加载大图片需要注意的问题
2013-07-16 21:47 9443尽量不要使用setImageBitmap或setImageR ... -
XMPP下的注册与登录
2013-06-24 23:43 6757前面讲了本地如何搭建XMPP环境 其实我不懂 也没认真的好好 ... -
XMPP 环境快速搭建
2013-06-24 22:31 1256这年头微信火 于是好多公司都要跟风 搭建环境其实挺简单 ... -
利用Movie播放GIF
2013-05-09 16:52 5161public class ViewContent ex ... -
ListView分隔线的显示
2013-04-08 16:21 1588项目中需要在listview中添加footview 出现了 ... -
结合popwindow与gridview的一例
2013-03-15 16:04 1417项目中需要实现一个gridview 点击某项弹出一个popu ... -
[转]Android中Matrix的pre post set方法理解
2013-03-08 15:03 1285虽说以前学习过线性代数和图形学原理,但是在实际中碰到matr ... -
50个Android开发人员必备UI效果源码[转载]
2013-03-08 09:29 44679Android 仿微信之主页面实现篇Android 仿微信之界 ... -
对View DrawingCache的理解
2013-02-18 19:37 1182View组件显示的内容可以通过cache机制保存为bitm ... -
Fragment使用方法一则
2013-02-18 17:28 1591之前在项目里也用到了fragment,作为横向滑动的组件显示 ... -
AVD ROOT
2012-12-04 11:47 3253启动一个模拟器,开 ... -
onTouchEvent 、onInterceptTouchEvent的顺序~
2012-10-26 10:29 1234转自:http://yxwww.iteye.com/blog/ ... -
ListView滑动获取分页 并异步加载每一项的图片
2012-09-26 10:40 4525项目有一个需求就是从服务器获取一个分页数据,数据按json数组 ... -
解析apk文件的图标等内容
2012-09-05 15:56 3343import java.lang.reflect. ...
相关推荐
本篇文章将深入探讨Android环境下JSON数据的读写方法。 一、JSON数据格式 JSON数据格式基于JavaScript语法,但独立于语言,具有以下基本结构: 1. 对象(Object):以花括号 `{}` 包裹,键值对以逗号分隔,键(Key...
总结,Android中处理JSON数据是开发者必备技能之一,通过理解JSON的基本结构,合理选择解析库,以及掌握读写和UI结合的方法,能够高效地实现数据的交换和显示。在实际项目中,应注重性能优化和错误处理,确保应用的...
在Android中,我们通常使用Gson库、org.json库或Jackson库来解析和生成JSON数据。 老罗在讲解中可能会涉及以下几个关键知识点: 1. **Gson库**:Google提供的一个强大的Java库,可以将Java对象转换为JSON字符串,...
Android 中通过 JSON 向 MySQL 中读写数据的方法是指在 Android 应用程序中使用 JSON(JavaScript Object Notation)格式将数据上传到 MySQL 数据库中,并从 MySQL 数据库中读取数据。这种方法可以实现 Android 应用...
JSON数据的读写方法_jsontoobject obje to json JsonTest.rar )JSON数据的读写方法_jsontoobject obje to json JsonTest.rar )
- **Android操作JSON格式数据**:Android提供了Gson库、org.json库等工具来解析和生成JSON数据。 - **Android数据库操作**:SQLite是Android内置的轻量级数据库,可以用于持久化数据。 - **Android Activity操作**:...
本示例是关于如何在Android应用中解析和使用JSON数据的一个实战演示。让我们深入探讨一下这个"android demo,json数据格式的案例的应用"。 首先,JSON是一种轻量级、易于人读写且易于机器解析的格式,它基于...
在Android系统中,自3.0版本开始,SDK内置了Json相关的类,如`org.json`包下的`JSONObject`和`JSONArray`,可以方便地进行Json数据的创建、解析和操作。 然而,对于Android 3.0之前的版本,或者开发者需要更高级的...
在Android开发中,利用Socket发送Json数据是一种常见的网络通信方式,尤其在移动应用与服务器进行实时交互时。本文将深入探讨如何在Android中实现这一功能,包括Json数据格式的使用、Socket通信的基本原理以及实际的...
本文将简析Android中处理JSON数据的几种方法,为Android开发者提供一些实用技巧。 首先,理解JSON的基本结构是至关重要的。JSON是一种轻量级的数据交换格式,它基于JavaScript的一个子集,采用完全独立于语言的文本...
总结来说,Android中读写JSON数据涉及以下几个步骤: 1. 获取JSON字符串,可以来自网络请求、本地文件或其他数据源。 2. 使用`org.json`库解析JSON字符串为`JSONObject`或`JSONArray`对象。 3. 通过对象的getter...
总结,这个压缩包的实现可能涵盖了Android客户端使用Retrofit发送网络请求、解析JSON数据,以及服务器端处理JSON请求并返回的过程。在实际项目中,还需要考虑安全性、性能优化和错误处理等多方面因素。
在Android开发中,网络数据交换是常见的需求,而JSON(JavaScript Object Notation)因其轻量级、易读写和高效的特点,成为Android与服务器之间数据交换的首选格式。本教程将详细讲解如何在Android客户端和服务端...
本文实例讲述了Android通过json向MySQL中写入数据的方法。分享给大家供大家参考,具体如下: 先说一下如何通过json将Android程序中的数据上传到MySQL中: 首先定义一个类JSONParser.Java类,将json上传数据的方法...
在Android中,我们通常使用`org.json`库或Gson库来处理JSON数据。`org.json`库提供了基本的解析和生成JSON的功能,而Gson库则更强大,可以直接将Java对象转换为JSON字符串,反之亦然。 1. **发送JSON请求**:客户端...
3. Android端接收到JSON数据后,使用JSON解析库(如Gson或org.json)解析JSON字符串,提取所需信息。 4. 使用提取的数据执行相应的业务逻辑,例如更新UI或存储到本地数据库。 在实际项目中,为了提高用户体验和安全...
JSON格式简洁、易于读写,并且被大多数编程语言支持,包括Java,因此在Android中处理JSON数据是开发者必备的技能。 **一、JSON基本结构** JSON有两种主要数据类型:对象和数组。对象是键值对的集合,用花括号{}...
Android JSON解析jar指的是在Android项目中用于解析JSON数据的Java库,通常以.jar文件形式提供。 本主题主要关注的是`gson`库,这是一个由Google提供的强大JSON库,它允许将Java对象转换为JSON字符串,以及将JSON...