亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JSON無效的UTF-8中間字節

JSON無效的UTF-8中間字節

JSON無效的UTF-8中間字節當(Jackson,本例)JSON引擎嘗試解析一些未以UTF-8編碼的JSON時,會發生此錯誤。如何告訴引擎它應該期望與UTF-8不同的東西,例如UTF-16?HttpHeaders requestHeaders = createSomeHeader();RestTemplate restTemplate = new RestTemplate();HttpEntity<?> requestEntity = new HttpEntity<Object>(requestHeaders);String url = "someurl"ResponseEntity<MyObject[]> arrayResponseEntity = restTemplate.exchange(url, HttpMethod.GET, requestEntity, MyObject[].class);錯誤日志:Caused by: org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: Invalid UTF-8 middle byte 0x20at [Source: org.apache.http.conn.EofSensorInputStream@44d397b0; line: 92, column: 42]; nested exception is org.codehaus.jackson.JsonParseException: Invalid UTF-8 middle byte 0x20at [Source: org.apache.http.conn.EofSensorInputStream@44d397b0; line: 92, column: 42]at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.readInternal(MappingJacksonHttpMessageConverter.java:138)at org.springframework.http.converter.AbstractHttpMessageConverter.read(AbstractHttpMessageConverter.java:154)at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:74)at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:622)
查看完整描述

3 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

我在Java客戶端應用程序中得到了這個異常,我正在序列化這樣的JSON

String json = mapper.writeValueAsString(contentBean);

在服務器端,我使用Spring Boot作為REST端點。例外是:

嵌套異常是com.fasterxml.jackson.databind.JsonMappingException:無效的UTF-8起始字節0xaa

我的問題是,我沒有在HTTP客戶端上設置正確的編碼。這解決了我的問題:

updateRequest.setHeader("Content-Type", "application/json;charset=UTF-8");StringEntity entity= new StringEntity(json, "UTF-8");updateRequest.setEntity(entity);

Android設置內容類型為HttpPost


查看完整回答
反對 回復 2019-08-28
?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

我在不同平臺之間不一致地遇到了這個問題,因為我從Mapper獲得了JSON作為String并自己完成了寫作。有時它作為ansi進入文件,其他時候正確地作為UTF8。我切換到了

mapper.writeValue(file, data);

讓Mapper執行文件操作,它開始正常工作。


查看完整回答
反對 回復 2019-08-28
  • 3 回答
  • 0 關注
  • 7318 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號