fix from dubbo:master, 2.5.7 : GenericJSONConverter主要是用在日志部分输出，所以当我们输出locale对象时就发生stack溢出。
```
java.lang.StackOverflowError
	at com.alibaba.dubbo.common.json.JSONWriter.valueString(JSONWriter.java:189)
	at com.alibaba.dubbo.common.json.GenericJSONConverter$7.encode(GenericJSONConverter.java:100)
	at com.alibaba.dubbo.common.json.GenericJSONConverter.writeValue(GenericJSONConverter.java:338)
	at com.alibaba.dubbo.common.json.GenericJSONConverter.writeValue(GenericJSONConverter.java:347)
	at com.alibaba.dubbo.common.json.GenericJSONConverter.writeValue(GenericJSONConverter.java:395)
	at com.alibaba.dubbo.common.json.GenericJSONConverter.writeValue(GenericJSONConverter.java:347)
	at com.alibaba.dubbo.common.json.GenericJSONConverter.writeValue(GenericJSONConverter.java:395)
```
if (writeClass) {
                jb.objectItem(JSONVisitor.CLASS_PROPERTY);
                writeValue(obj.getClass().getName(), jb, writeClass);
            }
            jb.objectEnd();
        }
    }
    @Override
    @SuppressWarnings({"unchecked", "rawtypes"})
    public Object readValue(Class<?> c, Object jv) throws IOException {
        if (jv == null) {
            return null;
        }
        Decoder decoder = GlobalDecoderMap.get(c);
        if (decoder != null) {
            return decoder.decode(jv);
        }
        if (c.isEnum()) {
            return Enum.valueOf((Class<Enum>) c, String.valueOf(jv));
        }
        return jv;
    }
    protected interface Encoder {
        void encode(Object obj, JSONWriter jb) throws IOException;
    }
    protected interface Decoder {
        Object decode(Object jv) throws IOException;
    }
}