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