首页 > 在JSON的值内包含双引号的问题

在JSON的值内包含双引号的问题

为了能够一键用Autocad运行sublime text内编辑的lisp文件,我设置sublime text的sublime-build时,如下:

{
    "cmd": ["cmd", "/c","echo (load ${file_base_name})>load.scr" , "&&" , "cmd", "/c", "acad", "/b" , "${file_path}/load.scr"],
    "working_dir": "${file_path}",
    "selector": "source.lsp",
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)"
}

大意是:
先在文件目录下创建一个load.scr(Autocad的脚本文件),为了能够让Autocad打开时能够自动加载当前lsp文件(这似乎有点绕,但是这是我唯一知道的能够在cmd打开autocad并且附带参数的方法)
其中load.scr文件的正确内容应该为

    (load "xxx.lsp")

这里load后面的文件名包含了双引号,但是直接在上面加上双引号不符合JSON的规范导致sublime text运行不能,如下(注意${file_base_name}外面加了一对双括号):

{
    "cmd": ["cmd", "/c","echo (load "${file_base_name}")>load.scr" , "&&" , "cmd", "/c", "acad", "/b" , "${file_path}/load.scr"],
......
}

之后用转义符/",发现sublime text可以运行,但是在load.scr里面却变成了:

    (load \"xxx.lsp\") 

多了两个尴尬的\,导致在autocad里面不能成功加载

不知道有没有办法,能够解决这个双引号转义的问题,谢谢!

【热门文章】
【热门文章】