插入一个大字符串 JSON 作为变异 GRAPHQL 的输入
Inserting a large stringed JSON as an input to a mutation GRAPHQL
我从客户那里得到了一个很大的字符串化 JSON。
我想使用此 JSON 在我的数据库中创建项目。我有一个将 Json 作为字符串获取的突变。在突变中,我解析 json 并用它来填充我的数据库。当我尝试在 Graphiql 中进行 运行 突变时出现错误。
我遇到了很多错误:
这个字符串是我在使用JSON.stringify(obj)
时从客户端得到的普通JSON字符串
GraphQL 使用双引号 ("
) 分隔字符串文字。如果您需要使用其中包含一个或多个双引号字符的字符串文字,则需要通过在每个字符前插入反斜杠 (\
) 来正确转义这些字符。如果您不这样做,GraphQL 会将字符串中的双引号视为整个字符串的终止符,并且通常字符串中的下一个字符最终会产生语法错误。
所以像这样的字符串值:
{"key": "value"}
需要这样转义:
{\"key\": \"value\"}
作为 GraphQL 文档中的文字,它最终看起来像这样:
"{\"key\": \"value\"}"
同样的规则也适用于您作为变量发送的字符串,但这是由于 JSON 语法规则,而不是 GraphQL 的。您可以在 spec.
中阅读更多关于在字符串中转义字符的信息
我从客户那里得到了一个很大的字符串化 JSON。 我想使用此 JSON 在我的数据库中创建项目。我有一个将 Json 作为字符串获取的突变。在突变中,我解析 json 并用它来填充我的数据库。当我尝试在 Graphiql 中进行 运行 突变时出现错误。
我遇到了很多错误:
这个字符串是我在使用JSON.stringify(obj)
时从客户端得到的普通JSON字符串GraphQL 使用双引号 ("
) 分隔字符串文字。如果您需要使用其中包含一个或多个双引号字符的字符串文字,则需要通过在每个字符前插入反斜杠 (\
) 来正确转义这些字符。如果您不这样做,GraphQL 会将字符串中的双引号视为整个字符串的终止符,并且通常字符串中的下一个字符最终会产生语法错误。
所以像这样的字符串值:
{"key": "value"}
需要这样转义:
{\"key\": \"value\"}
作为 GraphQL 文档中的文字,它最终看起来像这样:
"{\"key\": \"value\"}"
同样的规则也适用于您作为变量发送的字符串,但这是由于 JSON 语法规则,而不是 GraphQL 的。您可以在 spec.
中阅读更多关于在字符串中转义字符的信息