我怎样才能 post 一个复杂的字符到 SharePoint REST API?
How can I post a complex character to SharePoint REST API?
每当我尝试使用 post 复杂字符在 O365 SharePoint 列表中创建列表条目(通过 REST API)时,我都会从服务器收到 JSON 解析错误。下面是简单的 post ,它是导致失败的 β (beta) 字符。 &mdash (—) 和其他 non-simple 个字符也会导致失败。
该代码适用于字母字符。在我看来,这是 SharePoint 方面的一个解析问题,但我想知道我是否遗漏了一些愚蠢的东西(它发生了......)
如果我从标题字段中删除 β 字符,它就可以正常工作。如果我通过 SP Web 界面手动创建列表项,它工作得很好,所以我知道这不是字符无效,只是通过 API.
创建列表项
post 的 headers 是:
var outHeaders = {
"Content-Type": "application/json;odata=verbose",
"Accept": "application/json;odata=verbose",
"Authorization": 'Bearer ' + token,
"Content-Length": data.length,
"X-RequestDigest": digest,
"IF-MATCH" : "*"
}
正在post编辑的数据如下
{
"__metadata": {
"type": "SP.Data.EmailArchiveListItem"
},
"Title": "TEST fail email β",
"Sender": "Mark Roden",
"Recipient": "Mark Roden",
"Body": "HI Marky"
}
返回的错误是:
400
错误请求
{
"error": {
"code": "-1, Microsoft.SharePoint.Client.InvalidClientQueryException",
"message": {
"lang": "en-US",
"value": "Invalid JSON. Unexpected end of input was found in JSON content. Not all object and array scopes were closed."
}
}
}
任何input/thoughts赞赏。
尝试使用此代码:β
应该可以通过。
Joe Jorden 的回答至少让我走到了这一步 - 如果你 post β 或 - 进入一个 RTF 字段它有效 - post 将它变成一个纯文本字段没有。
2021 年(五年后)我遇到了类似的问题(使用 SharePoint MS Graph REST API),我通过在内容类型中明确指定字符集来解决这个问题:
application/json; charset=utf-8
每当我尝试使用 post 复杂字符在 O365 SharePoint 列表中创建列表条目(通过 REST API)时,我都会从服务器收到 JSON 解析错误。下面是简单的 post ,它是导致失败的 β (beta) 字符。 &mdash (—) 和其他 non-simple 个字符也会导致失败。
该代码适用于字母字符。在我看来,这是 SharePoint 方面的一个解析问题,但我想知道我是否遗漏了一些愚蠢的东西(它发生了......)
如果我从标题字段中删除 β 字符,它就可以正常工作。如果我通过 SP Web 界面手动创建列表项,它工作得很好,所以我知道这不是字符无效,只是通过 API.
创建列表项post 的 headers 是:
var outHeaders = {
"Content-Type": "application/json;odata=verbose",
"Accept": "application/json;odata=verbose",
"Authorization": 'Bearer ' + token,
"Content-Length": data.length,
"X-RequestDigest": digest,
"IF-MATCH" : "*"
}
正在post编辑的数据如下
{
"__metadata": {
"type": "SP.Data.EmailArchiveListItem"
},
"Title": "TEST fail email β",
"Sender": "Mark Roden",
"Recipient": "Mark Roden",
"Body": "HI Marky"
}
返回的错误是:
400 错误请求
{
"error": {
"code": "-1, Microsoft.SharePoint.Client.InvalidClientQueryException",
"message": {
"lang": "en-US",
"value": "Invalid JSON. Unexpected end of input was found in JSON content. Not all object and array scopes were closed."
}
}
}
任何input/thoughts赞赏。
尝试使用此代码:β
应该可以通过。
Joe Jorden 的回答至少让我走到了这一步 - 如果你 post β 或 - 进入一个 RTF 字段它有效 - post 将它变成一个纯文本字段没有。
2021 年(五年后)我遇到了类似的问题(使用 SharePoint MS Graph REST API),我通过在内容类型中明确指定字符集来解决这个问题:
application/json; charset=utf-8