JsonValue 封装类

JSON与Java对象转换
本文介绍了一种在Java中实现JSON与Map、List及其他Java对象相互转换的方法。通过定义JsonValue类,可以灵活地处理不同类型的JSON数据,并将其转换为相应的Java对象结构。

此文章是针对之前的一篇博客做的一个补充

Json与Map、List、Object互转

package com.jf.rentcar.util;

import java.util.HashMap;
import java.util.List;

public class JsonValue {
private String value;
private HashMap<String,JsonValue> map;
private List<HashMap<String,JsonValue>> list;
private Boolean bool;
private Number number;

public void setNumber(Number number) {
    this.number = number;
}

public Number getNumber() {
    return number;
}

public JsonValue(){
}

public JsonValue(String value){
    setValue(value);
}

public JsonValue(Integer value){
    setValue(StringUtil.valueOf(value));
}
public JsonValue(Double value){
    setValue(StringUtil.valueOf(value));
}

public JsonValue(Long value){
    setValue(String.valueOf(value));
}

public JsonValue(Boolean bool){
    setBool(bool);
}

public JsonValue(HashMap<String, JsonValue>  map){
    setMap(map);
}

public JsonValue(List<HashMap<String, JsonValue>> list){
    setList(list);
}

public String getValue() {
    return value;
}

public void setValue(String value) {
    this.value = value;
}

public HashMap<String, JsonValue> getMap() {
    return map;
}

public void setMap(HashMap<String, JsonValue> map) {
    this.map = map;
}

public List<HashMap<String, JsonValue>> getList() {
    return list;
}

public void setList(List<HashMap<String, JsonValue>> list) {
    this.list = list;
}

public Boolean getBool() {
    return bool;
}

public void setBool(Boolean bool) {
    this.bool = bool;
}

public Class getValueType(){
    if(getValue() != null){
        return getValue().getClass();
    }
    if(getMap() != null){
        return getMap().getClass();
    }
    if(getList() != null){
        return getList().getClass();
    }
    if(getBool() != null){
        return getBool().getClass();
    }
    if(getNumber() != null){
        return getNumber().getClass();
    }

    return null;
}

public Object getJsonValue(){
    if(getValue() != null){
        return getValue();
    }
    if(getMap() != null){
        return getMap();
    }
    if(getList() != null){
        return getList();
    }
    if(getBool() != null){
        return getBool();
    }
    if(getNumber() != null){
        return getNumber();
    }
    return null;
}

}

转载于:https://blog.51cto.com/13545923/2053377

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值