elisp:插入没有反斜杠的双引号

时间:2014-08-01 10:56:06

标签: emacs elisp

我们走了,一个经典的:我试图在elisp中用双引号括起一个单词,但它也会插入反斜杠!

我做:

(replace-regexp-in-string 
    "[A-za-z0-9]+: "   
    (lambda (match) (concat "\"" (s-replace ":" "" match) "\": ")) 
    "one tw2o: three")

结果包括反斜杠!

"one \"tw2o \": three"

我的目标是使用json-read-from-string处理它。

我不认为这是在ielm中打印的问题,因为json读取失败。

我有一个使用with-temp-bufferre-search-forward的工作版本,但这是同样的问题。

任何帮助和解释都表示赞赏!非常感谢。

编辑:如果我使用字符串(setq myjson "{one: \"1\", two: \"2\"}",我的功能就可以了:

(json-read-from-string (replace-regexp-in-string "[A-za-z0-9]+: " 
  (lambda (match) (concat "\"" (s-replace ":" "" match) "\": ")) myjson))

但结果是

((two\  . "2")
 (one\  . "1"))

注意密钥末尾的反斜杠。

我删除了声称它有效的编辑,因为它仍然是pb。

0 个答案:

没有答案