Cai*_*ech 5 c# json syntax-error
我目前正在测试一个应用程序,但它向我抛出了一个错误的 JSON 转义序列,但是我没有看到问题......
我可能忽略了一些东西,所以一双新鲜的眼睛可能会有用。
messageContents = "{\"command\":\"cue\",\"channel\":1,\"uid\":\"aesd-deaf\",\"type\":\"standard\",\"waitforexecute\":true,\"duration\":0,\"scene\":[{\"name\":\"Scene1\",\"fields\":[{\"Quad1\":\"F:\\TestFolder\\mill.jpg\"}]}]}";
Run Code Online (Sandbox Code Playgroud)
我得到的错误是
{"Bad JSON escape sequence: \\T. Path 'scene[0].fields[0].Quad1', line 1, position 150."}
Run Code Online (Sandbox Code Playgroud)
任何人都可以发现错误吗?谢谢,肯尼斯
see*_*uit 13
就像错误所说,问题发生在fields
属性的数组内:
[{\"Quad1\":\"F:\\TestFolder\\mill.jpg\"}]
Run Code Online (Sandbox Code Playgroud)
想象一下,一旦解析,它会是什么样子:
[{"Quad1": "F:\TestFolder\mill.jpg"}]
Run Code Online (Sandbox Code Playgroud)
JSON 解析器无法识别转义序列\T
,这与\t
.
修复只是双重转义所有\
字符。所以该部分看起来像:
\"fields\": [{\"Quad1\":\"F:\\\\TestFolder\\\\mill.jpg\"}]
Run Code Online (Sandbox Code Playgroud)