【发布时间】:2020-07-24 08:07:16
【问题描述】:
我的 JSON 有问题。我想将它发送到 REST-API 服务,但总是出错。
JSON(用 C# 编写):
var json = "{" +
"\"nachname\":\"Rindberger\","+
"\"anmerkung\":{"+
"\"type\":\"multipart\"," +
"\"content\":[ {" +
"\"contentType\":\"application/pdf name=\"jakob.pdf\","+
"\"contentDisposition\":\"attachment filename=\"jakob.pdf\","+
"\"data\":\"" + file + "\"," +
"\"contentTransferEncoding\":\"base64\"" +
"}" +
"]" +
"}" +
"}";
我知道这个 JSON 看起来很乱,但也许有人知道为什么这个 json 不起作用。
我在 JSON 格式化程序中尝试了这个 JSON,出现了一条错误消息,但我不明白这个错误消息的含义。
我希望有人可以帮助我。提前致谢!
【问题讨论】:
-
您确定像
name=\"jakob.pdf\"这样的文件名必须用引号括起来吗?尝试删除它们并再次测试您的代码。 -
我经常发现在代码中使用单引号
'并在其上添加字符串Replace('\'', '"')会更容易。它使 JSON 在 .cs 文件中更易于阅读。 -
您一开始就缺少大量 EOL 逗号
-
从第 7 行开始,您的 json 无效。您的“contentType”值包含非转义引号。如果要在该值中使用引号,则必须对其进行转义。这是一个显示如何转义引号的线程:How to escape double quotes in JSON