如何转义json字符串中的单引号? JSON::ParserError Ruby
Posted
技术标签:
【中文标题】如何转义json字符串中的单引号? JSON::ParserError Ruby【英文标题】:How to escape single quotes in json string? 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)
从文件中读取的,这就是为什么会有\
。
【问题讨论】:
你最好给我们看原始文件文本; 【参考方案1】:单引号不是你的问题,你的问题是你有一个杂散的尾随逗号:
parsed = JSON.parse("
\"key1\":\"value1\",
\"key2\":\"value2\",
\"key3\":12345,
\"key4\":\"''value4''\",
") #--------------------^ This should not be there.
JSON 不允许使用逗号,因此您实际上没有 JSON 文件。
您应该找出文件的来源并修复该工具以生成真正的 JSON,而不是当前正在写入文件的“看起来很像 JSON”。
【讨论】:
谢谢。你说的对。问题不在于单引号。以上是关于如何转义json字符串中的单引号? JSON::ParserError Ruby的主要内容,如果未能解决你的问题,请参考以下文章