因为使用的android studio 所以没有导入JSON库,仅仅在使用的时候自动导入了。
定义一个Person类//就是要接收的数据,尽量跟客户端一样
public class Person {
private String name;
private String address;
private String age;
public Person(String name, String address, String age) {
this.name = name;
this.address = address;
this.age = age;
}
public Person(){};
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", address='" + address + '\'' +
", age='" + age + '\'' +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
private String name;
private String address;
private String age;
public Person(String name, String address, String age) {
this.name = name;
this.address = address;
this.age = age;
}
public Person(){};
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", address='" + address + '\'' +
", age='" + age + '\'' +
'}';
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
然后定义一个获取JSON的类到时候方便直接调用函数
类JsonParse
public class JsonParse {
public static List<Person> getListPerson(String urlPath) throws Exception {
List<Person> mlists = new ArrayList<Person>();
byte[] data = readParse(urlPath);
JSONArray array = new JSONArray(new String(data));
for (int i = 0; i < array.length(); i++) {
JSONObject item = array.getJSONObject(i);
String name = item.getString("name");
String address = item.getString("address");
String age = item.getString("age");
mlists.add(new Person(name,address,age));
}
return mlists;
}
public static byte[] readParse(String urlPath) throws Exception {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] data = new byte[1024];
int len = 0;
URL url = new URL(urlPath);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
InputStream inStream = conn.getInputStream();
while ((len = inStream.read(data)) != -1) {
outStream.write(data, 0, len);
}
inStream.close();
return outStream.toByteArray();
}
}
public static List<Person> getListPerson(String urlPath) throws Exception {
List<Person> mlists = new ArrayList<Person>();
byte[] data = readParse(urlPath);
JSONArray array = new JSONArray(new String(data));
for (int i = 0; i < array.length(); i++) {
JSONObject item = array.getJSONObject(i);
String name = item.getString("name");
String address = item.getString("address");
String age = item.getString("age");
mlists.add(new Person(name,address,age));
}
return mlists;
}
public static byte[] readParse(String urlPath) throws Exception {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] data = new byte[1024];
int len = 0;
URL url = new URL(urlPath);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
InputStream inStream = conn.getInputStream();
while ((len = inStream.read(data)) != -1) {
outStream.write(data, 0, len);
}
inStream.close();
return outStream.toByteArray();
}
}
主Activity
Button button;
private List<Person> persons;
private static final String urlpath1 = " http://***这里的地址一定要用cmd的ipconfig查*****:8080/LoginDemoin/LoginServlet
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button= (Button) findViewById( R.id.but);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
persons=JsonParse.getListPerson(urlpath1);
List<HashMap<String,Object>>data = new ArrayList<HashMap<String, Object>>();
for(int i=0;i<persons.size();i++)
{
// HashMap<String,Object>map=new HashMap<String, Object>();
// map.put("name")
Toast.makeText(MainActivity.this,persons.get(i).getName().toString(),Toast.LENGTH_LONG).show();
}
}catch (Exception e){
Toast.makeText(MainActivity.this,"解析失败",Toast.LENGTH_SHORT).show();
}
}
});
}
private List<Person> persons;
private static final String urlpath1 = " http://***这里的地址一定要用cmd的ipconfig查*****:8080/LoginDemoin/LoginServlet
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button= (Button) findViewById( R.id.but);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
persons=JsonParse.getListPerson(urlpath1);
List<HashMap<String,Object>>data = new ArrayList<HashMap<String, Object>>();
for(int i=0;i<persons.size();i++)
{
// HashMap<String,Object>map=new HashMap<String, Object>();
// map.put("name")
Toast.makeText(MainActivity.this,persons.get(i).getName().toString(),Toast.LENGTH_LONG).show();
}
}catch (Exception e){
Toast.makeText(MainActivity.this,"解析失败",Toast.LENGTH_SHORT).show();
}
}
});
}