package com.info.util;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import org.json.JSONArray;
import org.json.JSONObject;

import com.info.bean.Person;

public class JsonParse {

/** * 解析Json数据 *  * @param urlPath * @return mlists * @throws Exception */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");        int age = item.getInt("age");        mlists.add(new Person(name, address, age));    }    return mlists;}/** * 从指定的url中获取字节数组 *  * @param urlPath * @return 字节数组 * @throws Exception *  *             Android下的网络编程 & 代理的使用 *  *             1. 使用 标准Java接口: 设计的类: java.net.* 基本步骤: *  *             1) 创建 URL 以及 URLConnection / HttpURLConnection 对象 2) 设置连接参数 *             3) 连接到服务器 4) 向服务器写数据 *  *             5)从服务器读取数据 *  *             2. 使用 apache 接口: Apache HttpClient 是一个开源项目,弥补了 java.net.* *             灵活性不足的缺点, 支持客户端的HTTP编程. 使用的类包括: org.apache.http.* *  *             步骤: 1) 创建 HttpClient 以及 GetMethod / PostMethod, HttpRequest *             等对象; 2) 设置连接参数; 3) 执行 HTTP 操作; 4) 处理服务器返回结果. */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();}

}

更多相关文章

  1. 箭头函数的基础使用
  2. NPM 和webpack 的基础使用
  3. Python list sort方法的具体使用
  4. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  5. [Android] ListView 结合SimpleAdapter使用
  6. TextInputLayout,让输入框更有灵性
  7. Android(安卓)验证码输入框 连续性粘贴 使用第三方包
  8. Android(安卓)SQLite使用
  9. Android(安卓)中Timer使用(勘误)

随机推荐

  1. Android 开机图片/文字/动画的修改
  2. Android实现远程服务端与客户端的通信AID
  3. 获取 Android(安卓)设备的唯一标识码
  4. Android UIAutomator 定位方式详解
  5. Android Studio中创建Selector文件的方法
  6. Android之——自定义复合控件的实现
  7. android,不让edittext一进入页面就获取焦
  8. HwBinder原理总结-Android10.0 HwBinder
  9. Android Market有望后来居上
  10. android so库、jar包生成和使用