当前位置: 首页 > 知识库问答 >
问题:

防止Jayway JsonPath从json字符串中条带引号

訾朗
2023-03-14

我目前正在试验Jayway JsonPath,但在将属性名从json字符串转换为属性名时遇到了问题。例如,我尝试在以下json字符串中将de“id”属性名称重命名为“id2”:

{“id”:“id”,“description”:“description”}

我使用下面的java语句来实现这一点

String s2 = JsonPath.parse(s).renameKey("$","id", "id2").json().toString();

问题在于,此转换会从json字符串中删除引号:

{描述:描述, id2: id}

有没有办法防止jsonpath删除引号?

谢啦

共有1个答案

曾高杰
2023-03-14

基于此讨论,您应该使用jsonString()而不是json()。toString()

 类似资料:
  • 下面是JSON字符串: 为了在java对象中反序列化这个字符串,我必须删除\,这可以使用string replace方法来完成。除此之外,在[和]之前还有双引号。我如何删除这些双引号或允许它们时,反序列化使用杰克逊。

  • 问题内容: 有没有办法避免返回包含无效(非UTF-8)字符的字符串? 在复杂的系统中调试可能会很麻烦。实际看到无效字符,或者至少将其省略会更合适。就目前而言,它将无声地丢弃整个字符串。 示例(在UTF-8中): 结果是 所需结果: 注意 :我 不 希望使破碎的字符串在json_encode()中起作用。我正在寻找简化诊断编码错误的方法。一个字符串是不是该有所帮助。 问题答案: php确实会尝试产生

  • 我一直在准备技术面试。所以有一件事我不确定。如果我写一个例子 这是否已经防止了字符串注入?或者我必须这样写: 提前道谢!

  • 我正在做一个语言翻译项目,但在中间的某个地方卡住了。 我有这样的情况,有一根绳子 我想得到 即提取带引号的子字符串,去掉“$”并用新的子字符串替换原始子字符串。 我可以提取和更改引用的子字符串,但当我尝试用原始子字符串替换它们时,它不起作用。要显示示例代码: 我不知道为什么替换失败。会感谢你的帮助。

  • 问题内容: 我有这个: JSONLint表示这是完全有效的json。但是执行时出现错误。 但是,如果我将代码更改为: (请注意双反斜杠) 它可以工作,但是现在JSONLint表示。 有人可以帮助您了解这种行为吗? 问题答案: 有线格式和您必须在代码中编写的格式之间是有区别的。当您在代码中声明此代码时,您需要在文字中使用双-\,以便字符串获得一个反斜杠(否则,它将\\解释为一个转义序列,仅声明一个“

  • 我正在以JSON字符串的形式从数据库中获取数据: 如何从给定的JSON字符串中提取公司名称?