php curl_setopt() 返回末尾带有“1”的 json 数据

app*_*hat 2 php json curl

所以我有一个curl_setopt,它可以用php很好地提取json文件。它执行此操作时有一个例外,即在 json 数据末尾的最后一个“}”之后有一个一 (1)。如果不使用curl,这个“1”在url 调用中并不明显。所以看来我的curl_setopt配置不正确。有人可以帮忙吗?

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $domain.$args);
curl_setopt($ch, CURLOPT_HEADER, false);
$json = curl_exec($ch);
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)

$ domain.$args工作正常,因为我可以回显此变量设置并通过浏览器手动生成 json,无需 1。

感谢您的帮助

/ ** 根据建议进行编辑 ** /

我尝试了下面的添加建议:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

这最终改变了整个 json 输出,而不仅仅是在响应末尾添加“1”:

"{\"data\":[{\"Name\":\"A3\",\"SeoName\":\"a3\"},{\"Name\":\"A4\",\"SeoName\":\"a4\"},{\"Name\":\"A5\",\"SeoName\":\"a5\"},{\"Name\":\"A6\",\"SeoName\":\"a6\"},{\"Name\":\"A7\",\"SeoName\":\"a7\"},{\"Name\":\"A8\",\"SeoName\":\"a8\"},{\"Name\":\"allroad\",\"SeoName\":\"allroad\"},{\"Name\":\"Q5\",\"SeoName\":\"q5\"},{\"Name\":\"Q5 hybrid\",\"SeoName\":\"q5-hybrid\"},{\"Name\":\"Q7\",\"SeoName\":\"q7\"},{\"Name\":\"R8\",\"SeoName\":\"r8\"},{\"Name\":\"RS 5\",\"SeoName\":\"rs-5\"},{\"Name\":\"RS 7\",\"SeoName\":\"rs-7\"},{\"Name\":\"S4\",\"SeoName\":\"s4\"},{\"Name\":\"S5\",\"SeoName\":\"s5\"},{\"Name\":\"S6\",\"SeoName\":\"s6\"},{\"Name\":\"S7\",\"SeoName\":\"s7\"},{\"Name\":\"S8\",\"SeoName\":\"s8\"},{\"Name\":\"SQ5\",\"SeoName\":\"sq5\"},{\"Name\":\"TT\",\"SeoName\":\"tt\"},{\"Name\":\"TTS\",\"SeoName\":\"tts\"}]}"
Run Code Online (Sandbox Code Playgroud)

小智 7

用这个:

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
Run Code Online (Sandbox Code Playgroud)