【发布时间】:2018-07-14 20:18:51
【问题描述】:
我正在使用 React,我发送以下信息:
const imageServicesClean = JSON.stringify(imageServices);
const query = `
mutation {
companyUpdate(
idCompany:${idCompany},
name:${nameClean},
imageServices:${imageServicesClean})
{
idCompany
name
imageServices {
idImageService
name
url
key
}
}
}`;
而imageServicesClean是这样发送的,但是返回错误:
[{
"idImageService": 1,
"name": "Service1",
"url": "",
"key": "asdasdas"
}, {
"idImageService": 2,
"name": "Service2",
"url": "sdsads",
"key": "sddsfsds_"
}]
因为我的 GraphQL 服务器 (Laravel) 只允许不带引号的变量,这样:
[{
idImageService: 1,
name: "Service1",
url: "",
key: "sdofunc4938urcnnwikk"
}, {
idImageService: 2,
name: "Service2",
url: "sdsads",
key: "sddsfsdssss8347yuirh"
}]
所以函数 JSON.stringify 不适用于 GraphQL 中的构建格式。如何在 Javascript 中将对象数组转换为 GraphQL 格式?
【问题讨论】:
-
用
JSON.parse(imageServices)怎么样? -
JSON.parse将 JSON 字符串作为参数,事实并非如此