【发布时间】:2019-12-10 10:56:41
【问题描述】:
我正在使用他们的电子签名 API 与 DocuSign 构建一个非常庞大和复杂的集成。作为其中的一部分,我们在 DocuSign 表单上提供了许多可填写的字段。我可以将验证模式(正则表达式)传递给 DocuSign API 的字段,它将根据该模式进行验证。
我遇到的问题是任何时候我都需要在我的正则表达式中使用“\”。从表面上看,要生成有效的 JSON,必须有偶数个 \,例如 '\\d' - 但这并不构成有效的正则表达式,因此,没有什么能满足它。
如何构建需要在其中包含 \ 的正则表达式并通过 JSON 发送它们。我绝对需要的字符是句点和破折号,我不知道如何在没有 \ 分隔符的正则表达式中显示它们。
在发现我的代码存在这些错误的问题后,我开始在 post man 实验中玩耍。我在网上搜索过,但我搜索的大多数地方都说正则表达式是代码,不应该发送。当然,如果我对双方都有权力,我可以删除 DocuSign 一方的额外分隔符,但因为我没有这种权力来操纵接收方的有效载荷,所以我被卡住了。
//Here is an example of something that I would LIKE to sent via JSON, but my single '\-' on the validation pattern are making it not valid JSON and returning an error.
{
"xPosition": "41",
"recipientId": "1",
"validationPattern": "^[0-9]{3}\-[0-9]{3}\-[0-9]{4}$",
"validationMessage": "Please enter a 10-digit telephone number. (###-###-####)",
"documentId": "19305",
"fontColor": "Black",
"tabLabel": "partPhone",
"shared": "false",
"font": "ArialNarrow",
"name": "Telephone Number",
"locked": "false",
"required": "true",
"pageNumber": "1",
"yPosition": "329",
"fontSize": "Size10",
"disableAutoSize": "false",
"width": "161"
}
我希望能够将示例 sn-p 发送到 DocuSign 并且没有错误,此外,我希望在包含 \ 时传递给它的 Regex 能够正常工作。
【问题讨论】:
-
你在手写 JSON 吗?如果您使用标准库对 JSON 进行编码,那么接收端应该能够毫无问题地对其进行解码...
-
你可以对它们进行十六进制编码,或者你可以像 \- 一样对它们进行转义,然后你可以在你想使用它们时对它们进行解码 (stackoverflow.com/a/17597400/2226328)
标签: json regex docusignapi