android_解析json

来源:互联网 发布:知乎 大国崛起纪录片 编辑:程序博客网 时间:2024/06/06 06:54

1.第一步先在tomcat里写一个.json的文件内容如:



2.写一个对象集合类与一个实体类

package com.example.g160628android28_xml;import java.util.List;/** * Created by Administrator on 2017/7/26 0026. */public class BigObject {    private int count;    private List<Student> students;    public BigObject() {    }    public BigObject(int count, List<Student> students) {        this.count = count;        this.students = students;    }    public int getCount() {        return count;    }    public void setCount(int count) {        this.count = count;    }    public List<Student> getStudents() {        return students;    }    public void setStudents(List<Student> students) {        this.students = students;    }}
package com.example.g160628android28_xml;/** * Created by Administrator on 2017/7/26 0026. */public class Student {    private int sid;    private String sname;    private String sage;    public Student() {    }    public Student(int sid, String sname, String sage) {        this.sid = sid;        this.sname = sname;        this.sage = sage;    }    public int getSid() {        return sid;    }    public void setSid(int sid) {        this.sid = sid;    }    public String getSname() {        return sname;    }    public void setSname(String sname) {        this.sname = sname;    }    public String getSage() {        return sage;    }    public void setSage(String ssex) {        this.sage = sage;    }}

第三步
//获取网络Json数据
//在解析
package com.example.g160628android28_xml;import android.app.ProgressDialog;import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.util.Xml;import android.view.View;import com.alibaba.fastjson.JSON;import org.xmlpull.v1.XmlPullParser;import org.xmlpull.v1.XmlPullParserException;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.util.List;public class MainActivity extends AppCompatActivity {    private ProgressDialog pd;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        pd = new ProgressDialog(this);        pd.setMessage("正在拼命加载中....");    }            public void json(View view){                Log.i("test","aaaaaaaaa");                new MyJSON().execute();            }            class MyJSON extends AsyncTask {                @Override                protected void onPreExecute() {                    super.onPreExecute();                   pd.show();                }            @Override            protected Object doInBackground(Object[] params) {                //获取网络Json数据                String path = "http://192.168.43.173:8080/students.json";                try {                    URL url = new URL(path);                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();                    connection.setRequestMethod("GET");                    connection.setConnectTimeout(5000);                    Log.i("test","ishfsja");                    if (connection.getResponseCode() == 200) {                        InputStream is = connection.getInputStream();                        int len = 0;                        byte[] buf = new byte[1024];                        StringBuffer stringBuffer = new StringBuffer();                        while ((len = is.read(buf))!= -1) {                            String s = new String(buf, 0, len);                            stringBuffer.append(s);                        }                        Log.i("test", stringBuffer.toString());                        /*//解析JSON                        BigObject bigObject = JSON.parseObject(stringBuffer.toString(), BigObject.class);                        int count = bigObject.getCount();                        Log.i("test", count + " ");                        List<Student> students = bigObject.getStudents();                        for (Student student : students) {                            Log.i("test", student.getSname() + " " + student.getSage());                        }*/                    }                } catch (MalformedURLException e) {                    e.printStackTrace();                } catch (IOException e) {                    e.printStackTrace();                }                return null;            }            @Override            protected void onPostExecute(Object o) {                super.onPostExecute(o);                pd.cancel();            }        }}效果如下:



原创粉丝点击