gpt4 book ai didi

json - 使用 RestTemplate 将 E acute 等特殊字符传递给 JSON web 服务

转载 作者:行者123 更新时间:2023-12-01 05:05:50 25 4
gpt4 key购买 nike

我正在从数据库获取数据并调用其余的 json 网络服务。我正在使用 spring restTemplate 调用 web 服务。我添加了 jackson jar,spring 正在使用它来创建 json。但是,当我们得到像带有尖音符号 É 的拉丁语 e 这样的字符时,我会遇到问题。 jackson 不转义它并按原样通过,这里的 webservice 在另一端失败给出 500 内部错误。我需要像\u0209 一样传递它的 unicode。我尝试使用 StringEcapeUtils 来转换它,它被转换为\u0209。但这次 RestTemplate 再次将其转义为\u0209,并在目标系统上以\u0209 接收。

目标系统是另一个我们无法对其进行任何更改的系统。

我的 restTemplate 代码是:-

MultiValueMap<String, String> headers =
new LinkedMultiValueMap<String, String>();
headers.add("Content-Type", MediaType.APPLICATION_JSON_VALUE); //Note Content-Type as opposed to Accept

HttpEntity<Object> entity = new HttpEntity<Object>(myRequest, headers);

myResponse = restTemplate.postForObject(url, entity, responseClass );

最佳答案

我猜服务器不知道如何解释您发送的内容。你试过了吗

MediaType mediaType = 
new MediaType( "application" , "json" , Charset.forName( "UTF-8" ) );
headers.add( "Content-Type", mediaType );

干杯,

关于json - 使用 RestTemplate 将 E acute 等特殊字符传递给 JSON web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29159418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com