错误接收到错误的JSON转义序列

时间:2018-08-21 12:50:56

标签: 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\"}]}]}";

我得到的错误是

{"Bad JSON escape sequence: \\T. Path 'scene[0].fields[0].Quad1', line 1, position 150."}

有人可以发现错误吗? 谢谢, 肯尼思

1 个答案:

答案 0 :(得分:2)

就像错误所述一样,问题发生在fields属性的数组内:

[{\"Quad1\":\"F:\\TestFolder\\mill.jpg\"}]

想象一下,一旦解析,它是什么样的:

[{"Quad1": "F:\TestFolder\mill.jpg"}]

JSON解析器无法识别转义序列\T,该转义序列与\t不同。

要解决的只是简单地对所有\个字符进行两次转义。因此该部分看起来像:

\"fields\": [{\"Quad1\":\"F:\\\\TestFolder\\\\mill.jpg\"}]