三级JSON解析

来源:互联网 发布:tvbox网络机刷机 编辑:程序博客网 时间:2024/06/11 17:32

JSON数据如下:

{    "packages": {        "package": [            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Arabic",                "id": "1",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "UK",                "id": "5",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Sport",                "id": "3",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Afghan",                "id": "43",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Turkish",                "id": "6",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "France",                "id": "7",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Iran",                "id": "8",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Russian",                "id": "18",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "African",                "id": "13",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Kurdish",                "id": "14",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Spain",                "id": "20",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Gorgia",                "id": "31",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Germany",                "id": "24",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "OSN",                "id": "25",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Switzerland",                "id": "42",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Belgium",                "id": "30",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Portugal",                "id": "32",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Poland",                "id": "33",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Asia",                "id": "35",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Azerbaijan",                "id": "36",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Chile",                "id": "37",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Italian",                "id": "41",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Greece",                "id": "40",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Amoos",                "id": "44",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Bulgarian",                "id": "45",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Indian",                "id": "47",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Pakistan",                "id": "48",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Latino",                "id": "50",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Croatien",                "id": "52",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Bosnien",                "id": "53",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Macedonia",                "id": "54",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Slovenia",                "id": "55",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Romania",                "id": "59",                "status": "1"            },            {                "icon": "test.png",                "icon_vod": "test.jpg",                "name": "Hungary",                "id": "58",                "status": "1"            }        ]    }}


import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import org.apache.http.client.ClientProtocolException;import org.json.JSONArray;import org.json.JSONObject;import android.app.Activity;import android.os.Bundle;import android.util.Log;public class MainActivity extends Activity {private static final String TAG = "MainActivity";private String mURL = "http://stable-iptv.com/v1/data?pin=5498885292219241&sn=231423&mac=08:00:27:88:de:0f&req=pack";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);new Thread(new Runnable() {@Overridepublic void run() {try {requestRemoteServerForUpdate(new URL(mURL));} catch (Exception e) {e.printStackTrace();} }}).start();}private boolean requestRemoteServerForUpdate(URL remote) throws IOException, ClientProtocolException{        if(remote == null) {            return false;        }        HttpURLConnection urlConn = (HttpURLConnection) remote.openConnection();        urlConn.setConnectTimeout(5 * 1000);        urlConn.connect();        if (urlConn.getResponseCode() == HttpURLConnection.HTTP_OK) {try {                byte[] jsonData = toByteArray(urlConn.getInputStream());                String json = new String(jsonData);                //解析第一级packages                JSONObject jsonObject1 = new JSONObject(json);                String packages = jsonObject1.getString("packages");                String content = "DATE_111 : "+packages;                Log.d(TAG, content);                //解析第二级package                JSONObject jsonObject2 = new JSONObject(packages);                String _package = jsonObject2.getString("package");                String contnet1 = "DATE_222 : "+_package;                Log.d(TAG, contnet1);                //解析三级JSON数据                JSONArray jsonArray = new JSONArray(_package);                for (int i = 0; i < jsonArray.length(); i++) {JSONObject jsonObject3 = jsonArray.getJSONObject(i);String icon = jsonObject3.getString("icon");String icon_vod = jsonObject3.getString("icon_vod");String name = jsonObject3.getString("name");String id = jsonObject3.getString("id");String status = jsonObject3.getString("status");Log.d(TAG, "DATE_333_"+i+" :   icon:"+icon+",icon_vod:"+icon_vod+",name:"+name+",id:"+id+",status:"+status);}                            } catch (Exception e) {                e.printStackTrace();            }        } else {            Log.d(TAG,"Get Response Code failed");        }        urlConn.disconnect();        return true;    }private byte[] toByteArray(InputStream input) throws IOException {ByteArrayOutputStream output = new ByteArrayOutputStream();byte[] buffer = new byte[4096];int n = 0;while (-1 != (n = input.read(buffer))) {output.write(buffer, 0, n);}return output.toByteArray();}}


0 0
原创粉丝点击