JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式,因其簡(jiǎn)單易用、易于閱讀和寫作,常在移動(dòng)開發(fā)中使用。下面是一個(gè)簡(jiǎn)單的JSON示例:
{ "name": "Apple iPhone 12", "price": 999, "color": ["red", "blue", "green"], "specs": { "screen": "6.1-inch Super Retina XDR", "resolution": "2532x1170", "battery_life": "Up to 17 hours" } }
在這個(gè)JSON代碼中,鍵名和鍵值用冒號(hào)分隔,每個(gè)鍵值對(duì)用逗號(hào)分隔,整個(gè)JSON用大括號(hào)包圍。這個(gè)JSON描述了一個(gè)iPhone 12的相關(guān)信息,其中包括品名、價(jià)格、顏色、規(guī)格等。
在移動(dòng)開發(fā)中,JSON通常用于網(wǎng)絡(luò)請(qǐng)求和響應(yīng),通過(guò)JSON可以將服務(wù)器返回的數(shù)據(jù)解析為易讀的格式,并在客戶端進(jìn)行展示、操作。示例代碼如下:
String url = "http://www.example.com/api/phone/123"; JsonObjectRequest jsonObjectRequest = new JsonObjectRequest (Request.Method.GET, url, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { try { String name = response.getString("name"); int price = response.getInt("price"); JSONArray colors = response.getJSONArray("color"); JSONObject specs = response.getJSONObject("specs"); // 在UI上展示手機(jī)相關(guān)信息 displayPhoneInfo(name, price, colors, specs); } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // 錯(cuò)誤處理 } });
這段代碼實(shí)現(xiàn)了一個(gè)網(wǎng)絡(luò)請(qǐng)求獲取手機(jī)信息的功能。通過(guò)JsonObjectRequest對(duì)象向服務(wù)器發(fā)起GET請(qǐng)求,請(qǐng)求的URL為http://www.example.com/api/phone/123。在請(qǐng)求成功后,服務(wù)器返回的JSON數(shù)據(jù)會(huì)被解析為一個(gè)JSONObject對(duì)象,程序可以通過(guò)該對(duì)象獲取手機(jī)的名稱、價(jià)格、顏色和規(guī)格等信息,并將其顯示在UI上。