標籤:android json
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() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubJSONObject 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 blocke.printStackTrace();}etTest.setText(jsonObject.toString());}});
點擊ReadJson按鈕後系統將JSONObject顯示在EditText中。:
2.解析JSON
系統擷取JSONObject對象後,利用getXXX函數,擷取JSON中相應參數
Code:
btnTest.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubString 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 blocke.printStackTrace();} finally {etTest.setText(strOutput);}}});
:
Android-JSON簡單應用