在Tomcat/webapps\ROOT下新建一个JSON文件然后另存为修给编码格式为UTF-8
使用DOS密令在有网络的情况下执行ipconfig 获取到 IPv4 地址 后面一串ID
打开Tomcat 在浏览器输入http://(IPv4 地址):8080/(JSON文件)的到一行网络地址
JSON文件里的代码:
{"count":2,"Students":[{"sid":1,"sname":"张三","sex":"男"},{"sid":2,"sname":"李四","sex":"男"}]}
代码实现
新建类1.(对应JSON里的对象)
package com.example.g160628_android_31_parsejson;
import java.util.List;
/**
* Created by Administrator on 2017/7/26.
*/
public class BIgObject {
private int count;
private List<Student> Students;
public BIgObject(int count, List<Student> students) {
this.count = count;
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) {
Students = students;
}
public BIgObject() {
}
}
新建类2
package com.example.g160628_android_31_parsejson;
/**
* Created by Administrator on 2017/7/26.
*/
public class Student {
private int sid;
private String sname;
private String sex;
public Student(int sid, String sname, String sex) {
this.sid = sid;
this.sname = sname;
this.sex = sex;
}
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 getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Student() {
}
}
在主要的Activity里实现:
package com.example.g160628_android_31_parsejson;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import com.alibaba.fastjson.JSON;
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 {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void JSON(View view){
new MYTask().execute();
}
class MYTask extends AsyncTask{
@Override
protected Object doInBackground(Object[] params) {
String path="http://192.168.43.164:8080/Students.json";
try {
URL url=new URL(path);
HttpURLConnection connection= (HttpURLConnection) url.openConnection();
//获取请求方式
connection.setRequestMethod("GET");
//获取结果码
int type=connection.getResponseCode();
if(type==200){
InputStream is=connection.getInputStream();
int len=0;
byte[] by=new byte[1024];
StringBuffer sb=new StringBuffer();
while ((len=is.read(by))!=-1){
String str=new String(by,0,len);
sb.append(str);
}
Log.i("test",sb.toString());
//fastjson-1.2.3.jar 导入jar包
BIgObject json=JSON.parseObject(sb.toString(),BIgObject.class);
Log.i("test",""+json.getCount());
List<Student> list=json.getStudents();
for (Student student : list) {
Log.i("test",student.getSname());
}
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
}