/**
* json 相关工具类
*
* @author
* @version 1.0.0
* Created at 2021/4/2 11:09
*/
public class JsonUtils {
/**
* 功能描述: 将 JsonObj 中 Stirng 数字 转成 BigDecimal类型
* @author:
* Created at 2021/4/2 11:07
*/
public static void s2BigDecimalFromJsonObj(JSONObject sourceData) {
for (Object o : ()) {
if ((o) instanceof JSONObject) {
s2BigDecimalFromJsonObj((JSONObject) (o));
} else if ((o) instanceof String) {
if (isNumeric((String) (o))) {
(o, new BigDecimal((String) (o)));
}
}else if ((o) instanceof JSONArray){
s2BigDecimalFromJsonArr((JSONArray) (o));
}
}
}
private static void s2BigDecimalFromJsonArr(JSONArray jsonArray){
for (Object o : jsonArray) {
if (o instanceof JSONObject){
s2BigDecimalFromJsonObj((JSONObject) o);
} else if (o instanceof JSONArray) {
s2BigDecimalFromJsonArr((JSONArray) o);
}
}
}
/**
* 功能描述: 判断该 字符串是否可以转换成数字
* @author:
* Created at 2021/4/2 11:08
*/
public static boolean isNumeric(String str) {
//如果是数字,创建new BigDecimal()时肯定不会报错,那就可以直接返回true
String bigdecimal;
try {
bigdecimal= new BigDecimal(str).toString();
} catch (Exception e) {
return false;//异常 说明包含非数字。
}
return true;
}
}