package com.cloud.util;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.beanutils.BeanUtils;
public class JsonUrlUtil {
private String url = "http://mall.51tys.com/Register/TysUser?p=";
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String loadJson () {
StringBuilder json = new StringBuilder();
try {
URL urlObject = new URL(url);
URLConnection uc = urlObject.openConnection();
InputStreamReader istreamReader = new InputStreamReader(uc.getInputStream(), "utf-8");
BufferedReader in = new BufferedReader(istreamReader);
String inputLine = null;
while ( (inputLine = in.readLine()) != null) {
json.append(inputLine);
}
in.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return json.toString();
}
public String getValue(String key)
{
String jsonstr = loadJson();
JSONObject jb = JSONObject.fromObject(jsonstr);
return jb.getString(key);
}
/**
*
* @author wangwei JSON工具类
* @param
*
*/
/***
* 将List对象序列化为JSON文本
*/
public static <T> String toJSONString(List<T> list)
{
JSONArray jsonArray = JSONArray.fromObject(list);
return jsonArray.toString();
}
/***
* 将对象序列化为JSON文本
* @param object
* @return
*/
public static String toJSONString(Object object)
{
JSONArray jsonArray = JSONArray.fromObject(object);
return jsonArray.toString();
}
/***
* 将JSON对象数组序列化为JSON文本
* @param jsonArray
* @return
*/
public static String toJSONString(JSONArray jsonArray)
{
return jsonArray.toString();
}
/***
* 将JSON对象序列化为JSON文本
* @param jsonObject
* @return
*/
public static String toJSONString(JSONObject jsonObject)
{
return jsonObject.toString();
}
/***
* 将对象转换为List对象
* @param object
* @return
*/
public static List toArrayList(Object object)
{
List arrayList = new ArrayList();
JSONArray jsonArray = JSONArray.fromObject(object);
Iterator it = jsonArray.iterator();
while (it.hasNext())
{
JSONObject jsonObject = (JSONObject) it.next();
Iterator keys = jsonObject.keys();
while (keys.hasNext())
{
Object key = keys.next();
Object value = jsonObject.get(key);
arrayList.add(value);
}
}
return arrayList;
}
/***
* 将对象转换为Collection对象
* @param object
* @return
*/
// public static Collection toCollection(Object object)
// {
// JSONArray jsonArray = JSONArray.fromObject(object);
//
// return JSONArray.toCollection(jsonArray);
// }
/***
* 将对象转换为JSON对象数组
* @param object
* @return
*/
public static JSONArray toJSONArray(Object object)
{
return JSONArray.fromObject(object);
}
/***
* 将对象转换为JSON对象
* @param object
* @return
*/
public static JSONObject toJSONObject(Object object)
{
return JSONObject.fromObject(object);
}
/***
* 将对象转换为HashMap
* @param object
* @return
*/
public static HashMap toHashMap(Object object)
{
HashMap<String, Object> data = new HashMap<String, Object>();
JSONObject jsonObject = JsonUrlUtil.toJSONObject(object);
Iterator it = jsonObject.keys();
while (it.hasNext())
{
String key = String.valueOf(it.next());
Object value = jsonObject.get(key);
data.put(key, value);
}
return data;
}
/***
* 将对象转换为List>
* @param object
* @return
*/
// 返回非实体类型(Map)的List
public static List<Map<String, Object>> toList(Object object)
{
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
JSONArray jsonArray = JSONArray.fromObject(object);
for (Object obj : jsonArray)
{
JSONObject jsonObject = (JSONObject) obj;
Map<String, Object> map = new HashMap<String, Object>();
Iterator it = jsonObject.keys();
while (it.hasNext())
{
String key = (String) it.next();
Object value = jsonObject.get(key);
map.put((String) key, value);
}
list.add(map);
}
return list;
}
/***
* 将JSON对象数组转换为传入类型的List
* @param
* @param jsonArray
* @param objectClass
* @return
*/
public static <T> List<T> toList(JSONArray jsonArray, Class<T> objectClass)
{
return JSONArray.toList(jsonArray, objectClass);
}
/***
* 将对象转换为传入类型的List
* @param
* @param jsonArray
* @param objectClass
* @return
*/
public static <T> List<T> toList(Object object, Class<T> objectClass)
{
JSONArray jsonArray = JSONArray.fromObject(object);
return JSONArray.toList(jsonArray, objectClass);
}
/***
* 将JSON对象转换为传入类型的对象
* @param
* @param jsonObject
* @param beanClass
* @return
*/
public static <T> T toBean(JSONObject jsonObject, Class<T> beanClass)
{
return (T) JSONObject.toBean(jsonObject, beanClass);
}
/***
* 将将对象转换为传入类型的对象
* @param
* @param object
* @param beanClass
* @return
*/
public static <T> T toBean(Object object, Class<T> beanClass)
{
JSONObject jsonObject = JSONObject.fromObject(object);
return (T) JSONObject.toBean(jsonObject, beanClass);
}
/***
* 将JSON文本反序列化为主从关系的实体
* @param 泛型T 代表主实体类型
* @param 泛型D 代表从实体类型
* @param jsonString JSON文本
* @param mainClass 主实体类型
* @param detailName 从实体类在主实体类中的属性名称
* @param detailClass 从实体类型
* @return
*/
public static <T, D> T toBean(String jsonString, Class<T> mainClass,
String detailName, Class<D> detailClass)
{
JSONObject jsonObject = JSONObject.fromObject(jsonString);
JSONArray jsonArray = (JSONArray) jsonObject.get(detailName);
T mainEntity = JsonUrlUtil.toBean(jsonObject, mainClass);
List<D> detailList = JsonUrlUtil.toList(jsonArray, detailClass);
try
{
BeanUtils.setProperty(mainEntity, detailName, detailList);
}
catch (Exception ex)
{
throw new RuntimeException("主从关系JSON反序列化实体失败!");
}
return mainEntity;
}
/***
* 将JSON文本反序列化为主从关系的实体
* @param 泛型T 代表主实体类型
* @param 泛型D1 代表从实体类型
* @param 泛型D2 代表从实体类型
* @param jsonString JSON文本
* @param mainClass 主实�
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
spring cloud全套学习代码 (683个子文件)
server.bat 110B
JsonUrlUtil.class 10KB
EquipLogController.class 8KB
User.class 8KB
EquipLogController.class 7KB
GPSController.class 7KB
GpsController.class 6KB
DeviceController.class 6KB
HttpClientUtil.class 5KB
DeviceController.class 5KB
Device.class 5KB
GpsRealData.class 5KB
GpsRealData.class 4KB
GpsVehicleInfo.class 4KB
UserController.class 4KB
GpsVehicleInfo.class 4KB
UserController.class 3KB
Des.class 3KB
EquipLogServiceImpl.class 3KB
BaseDataSourceConfig.class 3KB
EquipLog.class 3KB
User.class 3KB
HttpRespStatusConstant.class 3KB
HttpRespStatusConstant.class 3KB
MemcachedUtils.class 2KB
EquipLogCountService.class 2KB
EquipLogItemService.class 2KB
StationEquipLogCountService.class 2KB
DeviceByStationIDService.class 2KB
GpsVehicleInfoService.class 2KB
DeviceByTerminalIDService.class 2KB
JsonResult.class 2KB
JsonResult.class 2KB
GpsRealDataService.class 2KB
DateUtil.class 2KB
UserService.class 2KB
DateUtil.class 2KB
EquipLog.class 1KB
ArrayUtil.class 1KB
TyCloudApplication.class 1KB
WlRibbonApplication.class 1KB
GpsVehicleInfoServiceImpl.class 1KB
GpsRealDataServiceImpl.class 902B
RestTemplateConfig.class 896B
EquipLogCount.class 889B
UserServiceImpl.class 838B
WlClientEurekaApplication.class 793B
EquipLogDao.class 683B
GpsVehicleInfoDao.class 514B
EquipLogService.class 495B
MemcachedConstant.class 449B
HostConstant.class 415B
CommonConstant.class 391B
GpsVehicleInfoService.class 365B
UserDao.class 362B
GpsRealDataService.class 286B
GpsRealDataDao.class 274B
UserService.class 263B
.classpath 1KB
.classpath 1KB
.classpath 1KB
wc.db 608KB
entries 3B
format 3B
microservice-config-client-wl-0.0.1-SNAPSHOT.jar 44.41MB
microservice-consumer-movie-ribbon-0.0.1-SNAPSHOT.jar 40.2MB
microservice-discovery-eureka-0.0.1-SNAPSHOT.jar 39.73MB
JsonUrlUtil.java 12KB
JsonUrlUtil.java 12KB
EquipLogController.java 11KB
EquipLogController.java 9KB
GPSController.java 8KB
GpsController.java 7KB
DeviceController.java 6KB
DeviceController.java 6KB
User.java 6KB
User.java 6KB
User.java 6KB
HttpClientUtil.java 4KB
HttpClientUtil.java 4KB
Device.java 3KB
HttpRequest.java 3KB
GpsRealData.java 3KB
GpsRealData.java 3KB
Des.java 3KB
UserController.java 3KB
UserController.java 3KB
UserController.java 3KB
EquipLogServiceImpl.java 3KB
GpsVehicleInfo.java 3KB
GpsVehicleInfo.java 3KB
UserController.java 3KB
HttpRespStatusConstant.java 3KB
UserController.java 3KB
HttpRespStatusConstant.java 3KB
Des.java 3KB
Des.java 2KB
HttpRespStatusConstant.java 2KB
HttpRespStatusConstant.java 2KB
HttpRespStatusConstant.java 2KB
共 683 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
- oLeiChang2018-07-14感谢,非常好。
baobeituping
- 粉丝: 19
- 资源: 114
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 课程设计-python爬虫-爬取日报,爬取日报文章后存储到本地,附带源代码+课程设计报告
- 软件和信息技术服务行业投资与前景预测.pptx
- 课程设计-基于SpringBoot + Mybatis+python爬虫NBA球员数据爬取可视化+源代码+文档+sql+效果图
- 软件品质管理系列二项目策划规范.doc
- 基于TensorFlow+PyQt+GUI的酒店评论情感分析,支持分析本地数据文件和网络爬取数据分析+源代码+文档说明+安装教程
- 软件定义无线电中的模拟电路测试技术.pptx
- 软件开发协议(作为技术开发合同附件).doc
- 软件开发和咨询行业技术趋势分析.pptx
- 软件测试题详解及答案.doc
- 软件漏洞生命周期管理策略.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功