在Java中使用UTF-8编码Json对象数据

时间:2019-12-03 06:56:17

标签: json utf-8 encode

假设我的JSON数据中有任何特殊字符,则需要使用UTF-8进行编码。

示例JSON:

String msg = { \"name\": \"SÅi®äjesh\", \"location\":\"Öslö" };

我尝试了以下方案

byte[] utf8Bytes = msg.getBytes(StandardCharsets.UTF_8);
String newString = new String(utf8Bytes, StandardCharsets.UTF_8);

/ *显示?在我的控制台中标记符号* /

System.out.println(URLEncoder.encode( original,StandardCharsets.UTF_8.toString() ));

/ *编码包括{,“等符号在内的总字符串。* /

1 个答案:

答案 0 :(得分:1)

Java字符串为UTF-16,您需要将其转换为字节数组,然后转换为utf8字符串。

import static java.nio.charset.StandardCharsets.*;

byte[] bytes = "YOUR JSON".getBytes(ISO_8859_1); 
String jsonStr = new String(bytes, UTF_8);