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(); } } } 效果如下: