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;

		}
	}

}

 

你可能感兴趣的:(android,pull解析,json)