package com.etone.common.util;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class WebUtil {
/**
* 实体类属性拷贝到map;类属性必须有默认值
* xuchun
* 2017-09-20
*
* @param obj
* @return
*/
public static Map<String, String> beanToStrMap(Object obj) {
ObjectMapper objectMapper = new ObjectMapper();
Map<String, String> mappedObject = objectMapper.convertValue(obj, Map.class);
return mappedObject;
}
/**
* object转json字符
* xuchun
* 2016-07-07
*
* @param object
* @return
* @throws Exception
*/
public static String parseFastJson(Object object) {
return JSON.toJSONString(object);
}
public static <T> T parseToObj(String json, Class<T> cls) {
return JSON.parseObject(json, cls);
}
/**
* json字符串转换为map
* xuchun
* 2016-07-07
*
* @param json
* @return
* @throws Exception
*/
public static Map<String, String> parseFastMap(String json) {
return JSON.parseObject(json, Map.class);
}
public static Map<String, Object> parseFastMapObject(String json) {
return JSON.parseObject(json, Map.class);
}
/**
* 获取利用反射获取类里面的值和名称
*
* @param obj
* @return
* @throws IllegalAccessException
*/
public static Map<String, Object> objectToMap(Object obj) throws IllegalAccessException {
Map<String, Object> map = new HashMap<>();
Class<?> clazz = obj.getClass();
for (Field field : clazz.getDeclaredFields()) {
field.setAccessible(true);
String fieldName = field.getName();
Object value = field.get(obj);
map.put(fieldName, value);
}
return map;
}
//list转换为json
public static <T> String serialize(T object) {
return JSON.toJSONString(object);
}
//json转换为list
public static <T> T deserialize(String string, Class<T> clz) {
return JSON.parseObject(string, clz);
}
/**
* @Author: xuchun
* @Description: 随机4位数
* @Param: []
* @Return: int
* @Date: 2018/6/13 17:36
*/
public static int rand4Num() {
return (int) (Math.random() * 9000) + 1000;
}
/**
* URL 解码
*
* @return String
* @author lifq
* @date 2015-3-17 下午04:09:51
*/
public static String getURLDecoderString(String str) {
String result = "";
if (null == str) {
return "";
}
try {
result = java.net.URLDecoder.decode(str, "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return result;
}
public static BigDecimal objectConvertBigDecimal(Object value) {
BigDecimal ret = null;
if (value != null) {
if (value instanceof BigDecimal) {
ret = (BigDecimal) value;
} else if (value instanceof String) {
ret = new BigDecimal((String) value);
} else if (value instanceof BigInteger) {
ret = new BigDecimal((BigInteger) value);
} else if (value instanceof Number) {
ret = new BigDecimal(((Number) value).doubleValue());
} else {
throw new ClassCastException("Not possible to coerce [" + value + "] from class " + value.getClass()
+ " into a BigDecimal.");
}
}
return ret;
}
public static void main(String[] args){
String json="{\"merId\":\"99904081602435\",\"qrcode\":\"01117321055147655168\",\"orderNo\":\"190122133168861\",\"orderAmt\":2636,\"seq\":\"1548135120\",\"sign\":\"3prOxZDsIAnFXCRDPjksdnqU0PiPST83gB0qPXRcKXFXt1CfAJiHPuHbhgoOy9xYUGn\\/p2yzPCH5kskTyhC+7kUbB8AnuUfOvS2pBQJD\\/ruX1cnLwVezJI6T0qDzVvxrkxf8tzpP1LA=\"}";
// Map<String,String> map= parseFastMap(json);
// Map<String,Object> map=JSON.parseObject(json,Map.class);
// Object a= (BigDecimal)map.get("orderAmt");
JSONObject json2=JSON.parseObject(json);
double a=json2.getDouble("orderAmt");
//double b=(double)a;
System.out.println(a);
}
}