我試圖讓我的一些代碼作業。但我不斷收到以下錯誤。關于這里出了什么問題的任何想法?我想我所有的引號都正確轉義了
{"errors":[{"message":"json body 無法解碼:物件鍵:值對后的無效字符 'L'"}],"data":null}
我知道我的查詢是正確的,因為我可以在 graphQL 操場上運行它并獲取資料。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://xxxxxxxxxxxx.com/api/v4/endpoint');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"query\":\"{ search(q: \"LM123\") { results { part { mpn manufacturer { name }}}}\"}");
curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');
$headers = array();
$headers[] = 'Accept-Encoding: gzip, deflate';
$headers[] = 'Content-Type: application/json';
$headers[] = 'Accept: application/json';
$headers[] = 'Connection: keep-alive';
$headers[] = 'Dnt: 1';
$headers[] = 'Origin: https://xxxxxxxxxxxxx.com';
$headers[] = 'Token: xxxxxxxxxxxxxxxxxxxxxxxx';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
echo $result;
如果我運行一個不搜索術語的簡單查詢,它會完美運行。喜歡:
curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"query\":\"{ categories { name }}\"}");
uj5u.com熱心網友回復:
您在此處使用雙引號時遇到問題\"LM123\"。當您的 JSON 正在決議時,決議器期望這\"會結束您的值,然后您將, \"other_key\": \"...\"在 JSON 中擁有,但您卻擁有LM123...。
你可以嘗試這樣的事情:
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"query":"{ search(q: \"LM123\") { results { part { mpn manufacturer { name }}}}"}');
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/417680.html
標籤:
