用Java转义JSON字符串

汤巴

我正在使用Google的com.google.api.client.json.GenericJsoncom.fasterxml.jackson.core.JsonGenerator我想序列化JSON对象并转义引号和反斜杠,以便可以在Bash中传递该字符串。然后反序列化该字符串。

GenericJson.toString产生简单的JSON,但是\n不会转义:

{commands=ls -laF\ndu -h, id=0, timeout=0}

有一个简单的方法如何获得这样的东西:

"{commands=\"ls -laF\\ndu -h\", id=0, timeout=0}"

我不想重新发明轮子,因此,如果可能的话,我想使用Jackson或现有的API。

贝雷帽

无需其他依赖项:您在寻找JsonStringEncoder#quoteAsString(String)

单击以获取JsonStringEncoder javadoc

例:

import com.fasterxml.jackson.core.io.JsonStringEncoder;

JsonStringEncoder e = JsonStringEncoder.getInstance();
String commands = "ls -laF\\ndu -h";
String encCommands = new String(e.quoteAsString(commands));
String o = "{commands: \"" + encCommands + "\", id: 0, timeout: 0}"

参考:http : //fasterxml.github.io/jackson-core/javadoc/2.1.0/com/fasterxml/jackson/core/io/JsonStringEncoder.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Java字符串中添加转义字符?

来自分类Dev

如何修复转义的JSON字符串(JavaScript)

来自分类Dev

如何从JSON字符串中删除转义字符

来自分类Dev

Java转义JSON字符串?

来自分类Dev

如何转义字符串以存储在JSON中

来自分类Dev

用转义字符解析带引号的字符串

来自分类Dev

字符串转义字符

来自分类Dev

转义JSON字符串的值而不会破坏JSON

来自分类Dev

在属性文件中转义json字符串

来自分类Dev

JavaScript的转义字符串:json中的十六进制

来自分类Dev

JSON解析转义的字符串

来自分类Dev

用Kotlin字符串转义$ {something}

来自分类Dev

R:取消转义JSON字符串并构建JSON对象

来自分类Dev

在Java中取消转义字符串

来自分类Dev

用转义的单引号解析字符串

来自分类Dev

ansible将转义的json字符串转换为json

来自分类Dev

字符串中转义JSON控制字符

来自分类Dev

用转义字符解析带引号的字符串

来自分类Dev

用转义字符设置字符串格式

来自分类Dev

如何在Java中的JSON解析器的字符串中转义双引号

来自分类Dev

如何从Json字符串中删除转义字符?

来自分类Dev

JSON解析转义的字符串

来自分类Dev

Java字符串转义问题

来自分类Dev

转义字符串字符

来自分类Dev

用单引号转义字符串的单引号

来自分类Dev

用多行字符串替换多行字符串,而无需手动转义

来自分类Dev

转义 JNI 代码的 Java 字符串

来自分类Dev

JSON 对象中的转义字符串

来自分类Dev

Java:带有ANSI转义码的Json字符串到对象