`
百合不是茶
  • 浏览: 354653 次
社区版块
存档分类
最新评论

pull解析和json编码

阅读更多

n.json文件:

[{name:java,lan:c++,age:17},{name:android,lan:java,age:8}]

 

pull.xml文件

<?xml version="1.0" encoding="utf-8"?>

<stu>

    <name>java</name>

    <age>20</age>

    <sex>男</sex>

</stu>

<stu>

    <name>android</name>

    <age>23</age>

    <sex>女</sex>

</stu>

 

 

解析pull.xml和json

 

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

	}

	public void parse(View view) {
		// 创建xml解析器
		try {
			// 设置解析器
			// XmlPullParser parser = XmlPullParserFactory.newInstance()
			// .newPullParser();
			XmlPullParser parser = Xml.newPullParser();
			// 设置解析的数据源
			InputStream ips = this.getAssets().open("pull.xml");
			// 设置解析格式
			parser.setInput(ips, "UTF-8");

			// 设置解析时,可能触发的事件类型
			int type = parser.getEventType();
			while (type != XmlPullParser.END_DOCUMENT) {
				switch (type) {
				case XmlPullParser.START_DOCUMENT:

					break;
				case XmlPullParser.START_TAG:
					// 获取元素的名字
					String name = parser.getName();

					if (name.equals("name")) {
						String str = parser.nextText();
						System.out.println(str);
					} else if (name.equals("age")) {
						String age = parser.nextText();
						System.out.println(age);
					} else if (name.equals("sex")) {
						String sex = parser.nextText();
						System.out.println(sex);
					}

					break;
				case XmlPullParser.END_TAG:

					break;

				}
				type = parser.next();
			}

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

	// json解析数据
	public void JosnParse(View view) {
		switch (view.getId()) {
		case R.id.josnBtn:
			try {
				// 使用Json解析数据
				InputStream is = this.getAssets().open("n.json");
				byte[] by = new byte[is.available()];
				is.read(by);

				String josnStr = new String(by);

				// 定义解析器
				JSONTokener tokener = new JSONTokener(josnStr);
				// 获取json的数据
				JSONArray array = (JSONArray) tokener.nextValue();

				for (int i = 0; i < array.length(); i++) {
					// 将获取的到数组转化成对象
					JSONObject obj = (JSONObject) array.get(i);
					// 解析出对象属性的值
					String name = obj.getString("name");
					String lan = obj.getString("lan");
					String age = obj.getString("age");
					System.out.println(name + "<><>" + lan + "<><>" + age);
				}

			} catch (Exception e) {
				e.printStackTrace();
			}
			break;

		}
	}

}

 

0
0
分享到:
评论

相关推荐

    JsonCpp解析\u中文乱码_修改源码_完美解决

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务和应用程序之间的数据传输。JsonCpp是一个开源库,它...通过这样的操作,可以确保JsonCpp正确地解析和处理包含中文字符的JSON数据。

    数据交换格式json和xml到底用谁好

    在实际应用中,JSON通常能够提供更快的解析速度和更低的内存消耗。 2. **编码与解析难度**: - 编码方面,虽然两者都有相应的工具库支持,但JSON的编码更为简单直观。即使是不借助任何工具的情况下,开发者也能...

    Android解析XML使用WebView显示

    - **Pull解析器**:适用于迭代读取XML数据,如XmlPullParser,它是基于事件驱动的,适合进行增量解析。 2. **JSON转换**: - **Gson库**:Google提供的库,可以方便地将Java对象转换为JSON字符串,反之亦然。在...

    http网络请求与解析

    Android提供了`org.json`包和第三方库如Gson、Jackson等来解析JSON。其中,Gson可以直接将JSON字符串转换为Java对象,方便操作。 2. **XML解析** XML(eXtensible Markup Language)也是一种常见的数据交换格式。...

    XML读取以及解析

    - **PULL解析**:类似于SAX,也采用事件驱动,但更轻量级,适合移动设备或资源受限的环境。 3. **解析库**: 在不同的编程语言中,有许多成熟的XML解析库,例如: - Java:DOM4J、JAXB、Java的内置`javax.xml....

    json-viewer

    这个工具通常作为一个插件或扩展存在于浏览器环境中,使得开发者能够快速查看和解析JSON格式的API响应或其他数据。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...

    IOS常用的工具类和开源库

    `SwiftyJSON`让JSON操作更加简洁,而`Moya+JSONEncoding`则是`Moya`网络请求库与`JSONEncoding`的结合,方便进行JSON编码和解码。 5. **其他常用工具类和库** - `MBProgressHUD`:一个进度指示器,提供加载动画,...

    将java转换成json源码-JasonToJava:将JSON模式转换为Java源代码的项目

    该项目的核心功能是解析JSON结构并生成对应的Java类,这在处理API响应或构建RESTful服务时非常有用。以下是关于这个主题的一些关键知识点: 1. **JSON格式**:JSON是一种独立于语言的数据格式,其基本数据类型包括...

    android程序员简历07.doc

    使用自定义Adapter优化ListView,主界面展示最新专辑图片,支持在线音乐分类管理,实现异步加载、Pull解析和图片下载。通过桌面小组件控制音乐播放,支持后台播放,以及单曲、随机、顺序三种播放模式。 【项目收获...

    xml初学进阶

    - **Pull解析**:介于DOM和SAX之间,允许在需要时获取数据,节省内存。 6. **XPath与XSLT** - **XPath**:用于在XML文档中查找信息的语言,通过路径表达式选取节点。 - **XSLT**:转换XML文档的样式表语言,可以...

    Android 实现自动定位并查询天气

    - **JSON解析**:使用Gson、Jackson或Android自带的JsonParser解析JSON数据,将天气信息转换为Java对象。 - **XML解析**:对于XML数据,可以使用Android的SAX、DOM或Pull解析器进行解析。 4. **用户界面设计**: ...

    android TCPIP访问

    Android提供了SAX、DOM和Pull解析器等XML解析库。根据XML结构,可以解析出图片的URL或其他相关信息。获取到图片URL后,可以使用Android的BitmapFactory类加载图片,或者使用 Glide、Picasso 等第三方库进行高效的...

    XML事例代码

    - **Pull解析**:与SAX类似,但允许开发者主动控制解析过程,适用于移动设备等资源有限的环境。 4. **XPath**: - XPath是一种在XML文档中查找信息的语言,可以选取节点、计算表达式、过滤结果等。 5. **XSLT**...

    手机归属地查询

    在安卓中,我们可以使用Gson库来解析JSON,或者使用DOM、SAX或Pull解析器处理XML。 2. **网络请求**:查询手机归属地通常需要向服务器发送HTTP请求,获取相关信息。在安卓中,可以使用HttpURLConnection、OkHttp...

    linkedin 全球大学目录采集器,用于抓取平台所有的大学数据.zip

    4. **JSON处理**:LinkedIn的数据可能以JSON格式返回,需要掌握Json.NET库来解析和序列化JSON对象。 5. **多线程/异步编程**:为了提高抓取效率,可能需要用到多线程或异步编程,以并发处理多个请求。 6. **...

    Java连接LED 所需要的相关jar包

    在某些情况下,LED的控制指令可能采用XML格式进行编码,这时可以使用XPP3进行解析或生成XML数据。 4. **uia-comm-0.5.2.jar**:这可能是用于通用串行总线(USB)或串口通信的库,帮助Java应用程序与硬件设备建立连接...

    android4.0网络编程详解——源码

    Android提供了Gson库方便JSON解析,也可以使用DOM、SAX或Pull解析器处理XML。另外,注意处理网络异常,如超时、连接失败等。 **第5章:异步网络请求与线程管理** 由于网络操作通常耗时,应避免在主线程执行,否则...

    xml使用例子的详解

    - **PULL解析**:类似SAX,但由应用控制解析过程,如Android中的XmlPullParser。 4. **XML实例解析** 在提供的XML材料中,你可能会看到如下实例: ```xml 编程之道 张三 &lt;year&gt;2005 数据结构与...

    程序设计实训题集1

    - 需要调用外部API获取天气数据,可能涉及网络请求和JSON解析。 13. **黄金点游戏客户端**: - 一个简单的游戏,可能涉及到随机数生成和用户交互。 提交作业的方式是通过码云平台,创建个人文件夹,按照“班号_...

    参考文档-Android平台的3G气象软件.zip

    5. **数据解析** - 获取到的气象数据通常是JSON或XML格式,开发者需要掌握如何使用JSON库(如Gson或Jackson)或XML解析库(如PullParser或SAX)来解析数据。 6. **权限管理** - 访问网络服务需要在AndroidManifest....

Global site tag (gtag.js) - Google Analytics