【问题标题】:How to escape single quotes in json string? JSON::ParserError Ruby如何转义json字符串中的单引号? JSON::ParserError Ruby
【发布时间】:2022-01-24 00:51:55
【问题描述】:

我得到 /json/common.rb:156:in `parse': 783: unexpected token at '' (JSON::ParserError) 尝试在 ruby​​ 中解析 json 文件时。问题是因为其中一个字符串中有一些单引号:

parsed = JSON.parse("{
  \"key1\":\"value1\",
  \"key2\":\"value2\",
  \"key3\":12345,
  \"key4\":\"''value4''\",
  }")

有没有办法在不影响don't之类的单词的情况下转义字符串中的单引号? json 是使用JSON.parse(file.get_input_stream.read) 从文件中读取的,这就是为什么会有\

【问题讨论】:

  • 你最好给我们看原始文件文本;

标签: json ruby


【解决方案1】:

单引号不是你的问题,你的问题是你有一个杂散的尾随逗号:

parsed = JSON.parse("{
  \"key1\":\"value1\",
  \"key2\":\"value2\",
  \"key3\":12345,
  \"key4\":\"''value4''\",
}") #--------------------^ This should not be there.

JSON 不允许使用逗号,因此您实际上没有 JSON 文件。

您应该找出文件的来源并修复该工具以生成真正的 JSON,而不是当前正在写入文件的“看起来很像 JSON”。

【讨论】:

  • 谢谢。你说的对。问题不在于单引号。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-02
  • 2021-08-16
  • 2011-10-06
  • 2023-04-02
相关资源
最近更新 更多