Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android-JSON簡單應用

Android-JSON簡單應用

編輯:關於Android編程

JSON定義:

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基於JavaScript(Standard ECMA-262 3rd Edition -December 1999)的一個子集。 JSON采用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C, C++, C#, Java,JavaScript, Perl, Python等)。這些特性使JSON成為理想的數據交換語言。 易於人閱讀和編寫,同時也易於機器解析和生成(網絡傳輸速度)。

 

Andorid中的使用:

1.封裝JSON

Android中封裝有類JSONObject,用於保存JSON。該類通過put方法將數據置入JSONObject中。JSONObject除存放int,boolean等基本類型外,還可存放JSONObject類型及JSONArray類型。具體使用代碼如下:

 

btnTest.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				JSONObject jsonObject = new JSONObject();
				try {
					jsonObject.put("name", "JACK");
					
					JSONObject Tel = new JSONObject();
					Tel.put("homeTel", "123456");
					Tel.put("companyTel", "654321");
					jsonObject.put("Tel", Tel);

					JSONArray Address = new JSONArray();
					Address.put("NingBo");
					Address.put("Shanghai");
					jsonObject.put("Address", Address);
				} catch (JSONException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				etTest.setText(jsonObject.toString());
			}
		});

 

點擊ReadJson按鈕後系統將JSONObject顯示在EditText中。效果圖:

\

 

2.解析JSON

系統獲取JSONObject對象後,利用getXXX函數,獲取JSON中相應參數

Code:

 

btnTest.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				String JSON = "{\"name\":\"JACK\","
						+ "\"Address\":[\"Ningbo\",\"Shanghai\"],"
						+ "\"Tel\":{\"companyTel\":\"654321\",\"homeTel\":\"123456\"}}";
				String strOutput = "NULL";
				try {
					JSONObject jsonObject = new JSONObject(JSON);
					String strName = jsonObject.getString("name") + "\n";

					JSONArray jsonArray = jsonObject.getJSONArray("Address");
					String strAddress = jsonArray.getString(0) + ","
							+ jsonArray.getString(1) + "\n";

					JSONObject Tel = jsonObject.getJSONObject("Tel");
					String strCompanyTel = Tel.getString("companyTel");
					String strHomeTel = Tel.getString("homeTel");
					String strTel = strCompanyTel + "," + strHomeTel;
					strOutput = strName + strAddress + strTel;
				} catch (JSONException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				} finally {
					etTest.setText(strOutput);
				}
			}
		});

 

效果圖:

\
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved