json空字符串转实体类处理
1、情况说明
当json字符串有空字符串时,转实体类时会报java.lang.NumberFormatException: empty String
2、解决方案
经过下述处理,空值符串就可以转为json对象
Trigger<LifeSafeCondition> trigger = (Trigger<LifeSafeCondition>)Utils.josnToObjBlank(x.getTriggerJson(),type);
 public static Object josnToObjBlank(String json, Type clazz)
    {
        Gson gson = new GsonBuilder().registerTypeAdapter(int.class, new IntTypeAdapter()).registerTypeAdapter(Integer.class, new IntTypeAdapter()).create();
        Object object = gson.fromJson(json,clazz);
        return object;
    }
public class IntTypeAdapter extends TypeAdapter<Number> {
    @Override
    public void write(JsonWriter out, Number value)
            throws IOException {
        out.value(value);
    }
    @Override
    public Number read(JsonReader in) throws IOException {
        if (in.peek() == JsonToken.NULL) {
            in.nextNull();
            return null;
        }
        try {
            String result = in.nextString();
            if ("".equals(result)) {
                return null;
            }
            return Integer.parseInt(result);
        } catch (NumberFormatException e) {
            throw new JsonSyntaxException(e);
        }
    }
}
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号