为什么验证器报告JSON错误?

为什么验证器报告JSON错误?,json,Json,在下面这样的JSON文件中,我列出了应用程序中需要的命令列表。由于未知原因,验证程序返回一个错误 { "CommandsAT": ["ABORT 'BUSY'", "ABORT 'NO CARRIER'", "ABORT 'VOICE'", "

在下面这样的JSON文件中,我列出了应用程序中需要的命令列表。由于未知原因,验证程序返回一个错误

{
    "CommandsAT": ["ABORT 'BUSY'", 
                          "ABORT 'NO CARRIER'",
                          "ABORT 'VOICE'",
                          "ABORT 'NO DIALTONE'",
                          "ABORT 'NO DIAL TONE'",
                          "ABORT 'NO ANSWER'",
                          "ABORT 'DELAYED'",
                          "REPORT CONNECT",
                          "TIMEOUT 6",
                          "' 'ATQ0'",
                          "'OK-AT-OK' 'ATZ'",
                          "TIMEOUT 3",
                          "'OK\d-AT-OK' 'ATI'",
                          "'OK' 'ATZ'",
                          "'OK' 'AT+FLO=0'",
                          "'OK' 'ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0'",
                          "'OK' @/etc/ppp/chatscripts/mode",
                          "'OK-AT-OK' 'AT+CGDCONT=1,\"IP\",\"my_apn.pl\"'",
                          "'OK' 'ATDT*99#'",
                          "TIMEOUT 30",
                          "CONNECT ''"
                          ]
}
错误:

Parse error on line 13:
...TIMEOUT 3",                        "'OK\d-AT-OK' 'ATI'"
----------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', got 'undefined'

我是否犯了语法错误?

第13行中的错误不是由第14行引起的。问题在于
\
符号。我已经解决了您的问题:

  {
    "CommandsAT": ["ABORT 'BUSY'", 
                          "ABORT 'NO CARRIER'",
                          "ABORT 'VOICE'",
                          "ABORT 'NO DIALTONE'",
                          "ABORT 'NO DIAL TONE'",
                          "ABORT 'NO ANSWER'",
                          "ABORT 'DELAYED'",
                          "REPORT CONNECT",
                          "TIMEOUT 6",
                          "' 'ATQ0'",
                          "'OK-AT-OK' 'ATZ'",
                          "TIMEOUT 3",
                          "'OK\"d\"-AT-OK' 'ATI'",
                          "'OK' 'ATZ'",
                          "'OK' 'AT+FLO=0'",
                          "'OK' 'ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0'",
                          "'OK' @/etc/ppp/chatscripts/mode",
                          "'OK-AT-OK' 'AT+CGDCONT=1,\"IP\",\"my_apn.pl\"'",
                          "'OK' 'ATDT*99#'",
                          "TIMEOUT 30",
                          "CONNECT ''"
                          ]
}

在有问题的代码之前添加另一个
\
,这样现在就有了
\
;第一个取消了第二个的“转义”,因此只剩下
\
字符。

我认为
\d
有问题。你说得对,我在删除行“OK\d-AT-OK”“ATI”时确认了这一点,。如何使其像文本一样处理?
\d
等于
d
命令“OK\d-AT-OK”“ATI”将在以后像字符串一样发送到调制解调器设备。我无法将“\d”更改为“d”。json有没有办法忽略“\d”并将其视为普通字符串?在您的解决方案中,我得到了“OK”d“-AT-OK”ATI,但我需要“OK\d-AT-OK”ATI