首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
移动开发
> 详细
Android==>JSON解析
时间:
2015-02-27 17:05:27
阅读:
213
评论:
0
收藏:
0
[点我收藏+]
标签:
json
public class JsonUtil {
/**
* 获取"数组形式"的JSON数据, 数据形式:[{"id":1,"name":"小名"},{"id":2,"name":"小丽"}]
*
* @param path
* 网页路径
* @return 返回List
* @throws Exception
*/
public static String getJSONArray(String path) throws Exception {
String json = null;
URL url = new URL(path);
//
Log.d("","*********************url="+url+"**************************");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();// 利用HttpURLConnection对象,我们可以从网络中获取网页数据.
conn.setRequestProperty("connection", "Keep-Alive");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
conn.setConnectTimeout(20000);
conn.setReadTimeout(20000);
if (conn.getResponseCode() == 200) {// 判断请求码是否是200码,否则失败
InputStream is = conn.getInputStream(); // 获取输入流
byte[] data = readStream(is); // 把输入流转换成字符数组
json = new String(data); // 把字符数组转换成字符串
}
return json;
}
/**
* 把输入流转换成字符数组
*
* @param inputStream
* 输入流
* @return 字符数组
* @throws Exception
*/
public static byte[] readStream(InputStream inputStream) throws Exception {
ByteArrayOutputStream bout = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inputStream.read(buffer)) != -1) {
bout.write(buffer, 0, len);
}
bout.close();
inputStream.close();
return bout.toByteArray();
}
/**
* 检查jsonobject中是否存在相应字段的int,如果存在就返回对应值
*
* @param object
* @param val
* @return
* @throws org.json.JSONException
*/
public static int checkAndGetInt(JSONObject object, String val)
throws JSONException {
try {
if (object.has(val) && object.get(val) != null) {
return object.getInt(val);
} else {
return -1;
}
} catch (JSONException e) {
return -1;
}
}
/**
* 检查jsonobject中是否存在相应字段的int,如果存在就返回对应值
*
* @param object
* @param val
* @return
* @throws org.json.JSONException
*/
public static int checkAndGetIntWithDefault(JSONObject object, String val,
int result) throws JSONException {
try {
if (object.has(val) && object.get(val) != null) {
return object.getInt(val);
} else {
return result;
}
} catch (JSONException e) {
return result;
}
}
/**
* 检查jsonobject中是否存在相应字段的string,如果存在就返回对应值
*
* @param object
* @param val
* @return
* @throws org.json.JSONException
*/
public static String checkAndGetString(JSONObject object, String val)
throws JSONException {
try {
if (object.has(val) && object.get(val) != null) {
return object.getString(val);
} else {
return "";
}
} catch (JSONException e) {
return "";
}
}
/**
* 检查jsonobject中是否存在相应字段的string,如果存在就返回对应值,否则返回默认值
*
* @param object
* @param val
* @param value
* @return
* @throws JSONException
*/
public static String checkAndGetStringWithDefault(JSONObject object,
String val, String value) throws JSONException {
try {
if (object.has(val) && object.get(val) != null) {
return object.getString(val);
} else {
return value;
}
} catch (JSONException e) {
return value;
}
}
/**
* 检查jsonobject中是否存在对应字段的jsonarray,如果存在返回对应值
*
* @param object
* @param val
* @return
* @throws org.json.JSONException
*/
public static JSONArray checkAndGetArray(JSONObject object, String val)
throws JSONException {
try {
if (object.has(val) && object.get(val) != null) {
return object.getJSONArray(val);
} else {
return new JSONArray();
}
} catch (JSONException e) {
return new JSONArray();
}
}
/**
* 检查jsonobject中是否存在对应字段的double,如果存在返回对应值
*
* @param object
* @param val
* @return
* @throws org.json.JSONException
*/
public static Double checkAndGetDouble(JSONObject object, String val)
throws JSONException {
try {
if (object.has(val) && object.get(val) != null) {
return object.getDouble(val);
} else {
return -1.0;
}
} catch (JSONException e) {
return -1.0;
}
}
/**
* 检查jsonobject中是否存在对应字段的float,如果存在返回对应值
*
* @param object
* @param val
* @return
* @throws org.json.JSONException
*/
public static Float checkAndGetFloat(JSONObject object, String val)
throws JSONException {
try {
if (object.has(val) && object.get(val) != null) {
return Float.parseFloat(object.getString(val));
} else {
return -1.0f;
}
} catch (JSONException e) {
return -1.0f;
}
}
}
Android==>JSON解析
标签:
json
原文地址:http://blog.csdn.net/weimo1234/article/details/43969313
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
关闭苹果IOS app自动更新
2021-07-29
开发一个即时通讯App
2021-07-28
iOS 跳转App Store进行评分
2021-07-26
诺基亚短信生成!太好玩了
2021-07-26
【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn
2021-07-26
Android系统编程入门系列之界面Activity响应丝滑的传统动画
2021-07-26
uniapp h5,app两端复制文本
2021-07-22
uni-app滚动视图容器(scroll-view)之监听上拉事件
2021-07-21
新型横向移动工具原理分析、代码分析、优缺点以及检测方案
2021-07-19
Android系统编程入门系列之界面Activity交互响应
2021-07-19
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!