Android App中读取XML与JSON格式数据的基本方法示例

XML
假如有这样一个XML格式的数据:

<?xml version="1.0" encoding="utf-8"?> <resources> <customer name="luopeng" age="21" gender="1" emial="dylankeepmoving@163.com"/> <customer name="dylan" age="22" gender="2" emial="710097663@qq.com"/> <customer name="android" age="6" gender="2" emial="android@gmail.com"/> </resources>

下面我们来编写一个类来读取,此类的作用是点击按钮后在EditView上显示资源文件(一个XML)中的内容,此例中会使用到XMLResourceParser

public class TestXmlResourceParserActivity extends Activity { private EditText et; private Button myButton; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 变量在内部类中使用的前提是此变量必须是final修饰的 myButton = (Button) this.findViewById(R.id.btn01); et = (EditText) this.findViewById(R.id.edittext01); myButton.setOnClickListener(new OnClickListener() { StringBuilder sb = new StringBuilder(""); Resources res = getResources(); XmlResourceParser xrp = res.getXml(R.xml.test); @Override public void onClick(View v) { int counter = 0; try { // 判断是否到了文件的结尾 while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT) { //文件的内容的起始标签开始,注意这里的起始标签是test.xml文件里面<resources>标签下面的第一个标签 if (xrp.getEventType() == XmlResourceParser.START_TAG) { String tagname = xrp.getName(); if (tagname.endsWith("customer")) { counter++; sb.append("这是第" + counter + "客户"+"\n"); sb.append("姓名:"+xrp.getAttributeValue(0)+"\n"); sb.append("年龄:"+xrp.getAttributeValue(1)+"\n"); sb.append("性别:"+xrp.getAttributeValue(2)+"\n"); sb.append("邮箱:"+xrp.getAttributeValue(3)+"\n\n"); } } xrp.next(); } et.setText(sb.toString()); } catch (XmlPullParserException e) { } catch (IOException e) { e.printStackTrace(); } } }); }

JSON
创建JSON数据

try { //首先创建对象中的一个单个键值对 JSONObject root = new JSONObject(); root.put("cat", "it"); //另一个键值对的值是一个数组,数组里装了3个JSON对象,所以再分别搞3个JSONObject对象存放键值对 JSONObject lan1 = new JSONObject(); lan1.put("id", "1"); lan1.put("ide", "Eclipse"); lan1.put("name","Java"); JSONObject lan2 = new JSONObject(); lan2.put("id", "2"); lan2.put("ide", "XCode"); lan2.put("name","Swift"); JSONObject lan3 = new JSONObject(); lan3.put("id", "2"); lan3.put("ide", "Visual Studio"); lan3.put("name","C#"); //在将这3个对象存入一个数组 JSONArray array = new JSONArray(); array.put(lan1); array.put(lan2); array.put(lan3); //再将数组作为键"languages"的值,构成一个对象 root.put("languages", array); //本例中只将内容输出出来 System.out.println(root.toString()); } catch (JSONException e) { e.printStackTrace(); }

读取JSON数据
assets/test.json

{ "languages":[ {"id":1,"ide":"Eclipse","name":"Java"}, {"id":2,"ide":"XCode","name":"Swift"}, {"id":3,"ide":"Visual Studio","name":"C#"}, ], "cat","it" } try { InputStream is = getResources().getAssets().open("test.json"); InputStreamReader isr = new InputStreamReader(is, "UTF-8"); BufferedReader br = new BufferedReader(isr); //将文本中的数据,都读取到一个StringBuilder当中 String line; StringBuilder builder = new StringBuilder(); while((line=br.readLine()) != null ){ builder.append(line); } br.close(); isr.close(); JSONObject root = new JSONObject(builder.toString()); //根据键,获得键对应的值,由于值是String类型,所以用getString System.out.println("cat="+root.getString("cat")); //根据键,获得键对应的数组,由于值是一个数组,所以用getJSONArray JSONArray array = root.getJSONArray("languages"); //由于要遍历数组,所以创建一个for循环 for(int i=0; i < array. length(); i++){ //由于每一个数组当中的元素,也是一个新的JSON对象 JSONObject lan = array.getJSONObject(i); System.out.println("-------------------"); System.out.println("id="+lan.getInt("id")); System.out.println("ide="+lan.getString("name")); System.out.println("name="+lan.getString("name")); Log.i("tag","-------"); } } catch (IOException e) { e.printStackTrace(); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); }

时间: 2024-11-10 12:40:59

Android App中读取XML与JSON格式数据的基本方法示例的相关文章

Android App中读取XML与JSON格式数据的基本方法示例_Android

XML假如有这样一个XML格式的数据: <?xml version="1.0" encoding="utf-8"?> <resources> <customer name="luopeng" age="21" gender="1" emial="dylankeepmoving@163.com"/> <customer name="dyl

jQuery中使用Ajax获取JSON格式数据示例代码_jquery

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.JSONM文件中包含了关于"名称"和"值"的信息.有时候我们需要读取JSON格式的数据文件,在jQuery中可以使用Ajax或者 $.getJSON()方法实现. 下面就使用jQuery读取music.txt文件中的JSON数据格式信息. 首先,music.txt中的内容如下: 复制代码 代码如下: [ {"optionKey":"1"

Java Web项目中Spring框架处理JSON格式数据的方法_java

json是一种常见的传递格式,是一种键值对应的格式.并且数据大小会比较小,方便传递.所以在开发中经常会用到json. 首先看一下json的格式: {key1:value1,key2:value2} 每一个建对应一个值,每个键值对之间用逗号连接.并且最后一个键值对之后没有逗号,整体需要有大括号括起来. 一般正常的servlet返回json时,会像下面这样: response.setContentType("text/JSON;charset=utf-8"); response.getWr

解析PHP 使用curl提交json格式数据

本篇文章是对PHP中使用curl提交json格式数据的实现方法进行了详细的分析介绍,需要的朋友参考下   复制代码 代码如下: $data = array("name" => "Hagrid", "age" => "36"); $data_string = json_encode($data); $ch = curl_init('http://api.local/rest/users'); curl_setopt(

struts2 xml配置中json格式数据

问题描述 struts2 xml配置中json格式数据 clientList[d+].clientaway.w+ 什么意思 可以带clientaway这个实体类中的所有属性吗 解决方案 这是正则表达式d+匹配数字w+匹配文本 clientList[d+].clientaway.w+ 可以匹配 clientList[123].clientaway.abc 之类的字符串

Java的微信开发中使用XML格式和JSON格式数据的示例_java

XML微信XML消息model定义: package cn.wx.server; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; /** * @title cn.wx.serverXMLMsg.java * @todo TODO * @author lpe234 * @time 2014年5月21日下午

Android编程简单解析JSON格式数据的方法示例

本文实例讲述了Android编程简单解析JSON格式数据的方法.分享给大家供大家参考,具体如下: 比起XML,JSON主要优势在于它的体积更小,在网络上传输的时候可以更省流量.但缺点在于,它的语义性较差,显示不如XML直观. JSON格式 : { "name_A" : "value_A","name_B" : "value_B" } 表示: name_A = value_A; name_B = value_B; 我将对下面的J

数据库-如何将.json格式数据存储到数据中?

问题描述 如何将.json格式数据存储到数据中? 我是java的职场小白.今天接到任务是将json数据保存到oracle数据库中. 我今天看了一下数据库中的字段.是要保存到一个叫logo_data的字段中. 这个字段的类型是varchar2的.请教大神给个思路,最好给个例子.小弟在这里谢了. 解决方案 json就是字符串,直接写入,考虑到存在特殊字符,可以进行编码,比如base64,读取时候解码即可 解决方案二: 如何采集原始图象数据存储格式的数据如何将C#/.NET 将json字符串格式数据转

乱码-PHP如何将.json格式数据存储到数据中

问题描述 PHP如何将.json格式数据存储到数据中 客户传送这样的数据给我,我怎样储存到数据库不乱码,并且能读取出来啊,昨天试到晚上2点多也没好,求助一下 解决方案 如何采集原始图象数据存储格式的数据如何采集原始图象数据存储格式的数据-dm642Hive的数据存储格式 解决方案二: 使用serialize函数,对数据先序列化一下,然后入库 string serialize ( mixed $value ) serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于