JSON.toJSONString转换LIST会出现转义符
时间: 2024-06-12 07:09:49 浏览: 226
JSON.toJSONString方法会在转换时自动添加转义符,这是为了保证生成的 JSON 字符串是合法的。如果您想去除转义符,可以使用其他库或手动处理字符串。以下是使用 Jackson 库进行转换的示例代码:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
List<Object> list = new ArrayList<>();
// 添加列表元素...
ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.ESCAPE_NON_ASCII);
String json = mapper.writeValueAsString(list);
System.out.println(json);
```
在这个示例中,我们使用了 Jackson 库的 ObjectMapper 对象,并启用了 `ESCAPE_NON_ASCII` 选项,它会禁用对非 ASCII 字符的转义。这样就可以生成不含转义符的 JSON 字符串。
相关问题
json.tojsonstring转义符
json.toJsonString方法在转义字符串时会添加多余的反斜杠。为了解决这个问题,可以使用StringEscapeUtils.unescapeJavaScript方法来去除多余的反斜杠。这个方法属于org.apache.commons.lang包,可以通过在pom.xml文件中添加以下依赖来引入commons-lang库:
```xml
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
```
使用StringEscapeUtils.unescapeJavaScript方法将转义后的字符串(jsDataStr)进行反转义,即可得到不含多余反斜杠的结果。
List<Map<String, Object>>通过JSON.toJSONString转换成String字符串 如何将其转换回来
您可以使用JSON.parseObject()方法将JSON格式的字符串转换回List<Map<String, Object>>类型的数据。该方法的使用方式如下:
String jsonString = "JSON字符串";
List<Map<String, Object>> list = JSON.parseObject(jsonString, new TypeReference<List<Map<String, Object>>>() {});
其中,jsonString是JSON格式的字符串,new TypeReference<List<Map<String, Object>>>() {}表示将JSON字符串转换成List<Map<String, Object>>类型的数据。
阅读全文