一個簡單的 url get 發現json中有中文亂碼 :
def get = new URL("https://httpbin.org/get").openConnection();
def getRC = get.getResponseCode();
println(getRC);
if (getRC.equals(200)) {
println(get.getInputStream().getText());
}
groovy 有個類可以處理流字節 編碼
IOGroovyMethods 就這個類
print(IOGroovyMethods.getText(get.getInputStream(), "utf-8"));
經過處理后無中文亂碼
當然可以在groovy 環境中進行編碼設定 :
Configuration config = new CompilerConfiguration();
config.setSourceEncoding("UTF-8");
// 設置該GroovyClassLoader的父ClassLoader為當前線程的加載器(默認)
GroovyClassLoader groovyClassLoader = new GroovyClassLoader(Thread.currentThread().getContextClassLoader(), config);
在去加載groovy 代碼也就沒有問題了 。