我正在尝试在石英调度程序中发送json负载。我已将标头设置为Content-type:application / json,但由于某种原因,我的json字符串抛出错误:未捕获的错误,json中出现意外的令牌。
我要发送到graphql服务的原始json看起来像这样:
{
GetAllAuthors{
id
name
}
}
但是要使其在石英中运行,我需要模仿一个REST API调用,这就是为什么我尝试使用以下内容的原因:
{ "query":{{""{\nGetAllAuthors {\nid\nname\n}\n\n}""}} }
上面的内容也给我“未捕获的错误,json中出现意外的令牌”错误。有什么我想念或忽略的东西吗?
PS:我尝试使用在线json格式化程序,并且当我尝试验证上述json时,出现以下错误:
Error: Parse error on line 2:
{ "query": { { "" {\ nGetA
--------------^
Expecting 'STRING', '}', got '{'
答案 0 :(得分:1)
那是无效的杰森。如果是这样,它将是这样:
{
"GetAllAuthors": [
"id",
"name"
]
}
但我怀疑您正在尝试以下操作:
{
"GetAllAuthors": {
"id": 123,
"name": "James Brown"
}
}
在此处播放,直到正确为止:https://jsonlint.com/
编辑:我尚未使用GraphQL,但是此页面显示了如何通过使用查询字符串POST JSON或GET来通过Http传输(非JSON)GraphQL查询:https://graphql.org/learn/serving-over-http/
答案 1 :(得分:0)
我通过在Mozilla的“网络”标签中进行测试发现了这一点-正确的格式是:
{“查询”:“ {\ n GetAllAuthors {\ n id \ n名称\ n} \ n} \ n”,“变量”:null,“ operationName”:null}