Laravel 如何在Javascript中将对象数组转换为GraphQL格式?
我正在与React合作,我发送以下信息:Laravel 如何在Javascript中将对象数组转换为GraphQL格式?,laravel,reactjs,graphql,Laravel,Reactjs,Graphql,我正在与React合作,我发送以下信息: const imageServicesClean = JSON.stringify(imageServices); const query = ` mutation { companyUpdate( idCompany:${idCompany}, name:${nameClean}, imageServices:${imageServi
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格式?最后,这是我的解决方案:
const imageServicesClean = JSON.stringify(imageServices);
const graphQLImageServices = imageServicesClean.replace(/"([^(")"]+)":/g,"$1:");
但最后我使用这个库,它为我做了一切:使用
JSON怎么样?JSON.parse(imageServices)
?JSON.parse
以一个JSON字符串作为参数,这不是问题我能问一下(“”
做什么吗?我想这就足够了/”([^”]+):/g,$1:
,所以我想知道(“”
)的目的是什么。谢谢!