获取JSON数据客户端
来源:互联网 发布:淘宝网标志 编辑:程序博客网 时间:2024/04/29 04:34
因为使用的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();
}
}
});
}
0 0
- 获取JSON数据客户端
- php获取客户端json数据
- AJAX MVC 服务器返回Json数据,客户端获取Json数据
- Java Json解析,Java Web Json解析,Java Web服务端获取Json数据,客户端通过HTTP获取Json数据
- Android客户端获取服务器的json数据(一)
- android客户端从服务器端获取json数据并解析
- android客户端从服务器端获取json数据并解析
- Spring MVC获取客户端传给的json数据
- android客户端从服务器端获取json数据并解析
- android客户端从服务器端获取json数据并解析
- android客户端从服务器端获取json数据并解析
- 客户端获取数据方法
- Android客户端 - JSON数据解析
- 返回JSON数据到客户端
- 客户端发送Json数据问题
- PHP获取JSON数据
- json封装,获取数据
- 获取解析JSON数据
- 编译时间从33.8秒降到4.5秒我只多做了一件事
- 【Zookeeper】源码分析之网络通信(三)
- 3.6小结String类Stringbuffer类
- SVN(Subversion)中文版安装教程
- require.js初次使用
- 获取JSON数据客户端
- BZOJ 2330, 糖果
- PHP内核基础学习心得(一)
- 使用CocoaPods 时卡在这 Setting up CocoaPods master repo 不动
- unity简单画线
- 将目标版本为23时,读取权限被提升为运行时,发生启动崩溃
- 1001. Battle Over Cities
- 用linux的几种IO模型编的段子
- CSS3D模型