JSON转换工具

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);
  }

}



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值