public static void keepSpecifiedDecimalScales_json(com.alibaba.fastjson.JSONObject json,int scales){
if( json == null || json.size() == 0 ){
return;
}
Set<String> keys = json.keySet();
for( String key:keys ){
Object value = json.get(key);
if( value == null ){
continue;
}
if( value instanceof String ){
System.out.println(key + " 的对应值的类型为 字符串" );
continue;
}
if( value instanceof com.alibaba.fastjson.JSONObject){
keepSpecifiedDecimalScales_json((com.alibaba.fastjson.JSONObject) value,scales );
}else if( value instanceof com.alibaba.fastjson.JSONArray){
keepSpecifiedDecimalScales_jsonArray((com.alibaba.fastjson.JSONArray) value,scales );
}else if( value instanceof BigDecimal){
System.out.println(key + " 的对应值的类型为 小数" );
// 转成整数
BigDecimal value_bigDecimal = (BigDecimal) value;
double value_double = value_bigDecimal.setScale( scales, RoundingMode.HALF_UP ).doubleValue();
json.put( key,value_double );
}else {
System.out.println(key + " 的对应值的类型为 " + value.getClass().getName() );
}
}
}
public static void keepSpecifiedDecimalScales_jsonArray(com.alibaba.fastjson.JSONArray array,int scales){
if( array == null || array.size() == 0 ){
return;
}
int size = array.size();
for( int i=0;i<size;i++ ){
Object value = array.get(i);
if( value == null ){
continue;
}
if( value instanceof String ){
System.out.println(value + " 的类型为 字符串" );
continue;
}
if( value instanceof com.alibaba.fastjson.JSONObject){
keepSpecifiedDecimalScales_json((com.alibaba.fastjson.JSONObject) value,scales );
}else if( value instanceof com.alibaba.fastjson.JSONArray){
keepSpecifiedDecimalScales_jsonArray((com.alibaba.fastjson.JSONArray) value,scales );
}else if( value instanceof BigDecimal){
System.out.println(value + " 的对应值的类型为 小数" );
// 转成整数
BigDecimal value_bigDecimal = (BigDecimal) value;
double value_double = value_bigDecimal.setScale( scales, RoundingMode.HALF_UP ).doubleValue();
array.set( i,value_double );
}else {
System.out.println(value + " 的类型为 " + value.getClass().getName() );
}
}
}
public static String keepSpecifiedDecimalScales_jsonString( String jsonString,int scales){
if( jsonString == null ){
return null;
}
jsonString = jsonString.trim();
if( jsonString.length() == 0 ){
return "";
}
String char1 = jsonString.substring(0, 1);
if( char1.equals( "{" ) ){
com.alibaba.fastjson.JSONObject json = com.alibaba.fastjson.JSONObject.parseObject(jsonString);
keepSpecifiedDecimalScales_json( json,scales );
return json.toJSONString();
}else if( char1.equals( "[" ) ){
com.alibaba.fastjson.JSONArray array = com.alibaba.fastjson.JSONArray.parseArray(jsonString);
keepSpecifiedDecimalScales_jsonArray( array,scales );
return array.toJSONString();
}else {
return jsonString;
}
}