Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

530
Views
Tiene problemas para recuperar JSON con curl para analizar en php

También estoy intentando buscar y analizar JSON en PHP a través de curl. No puedo analizar la respuesta y, en cambio, veo que se descarga en mi pantalla. Aquí hay un código de muestra.

 <?php $url = 'XXXXXXXXXXXXXXXXXXXXX'; $cURL = curl_init(); curl_setopt($cURL, CURLOPT_URL, $url); curl_setopt($cURL, CURLOPT_HTTPGET, true); curl_setopt($cURL, CURLOPT_HTTPHEADER, array( 'X-Mashape-Key: XXXXXXXXXXXXXXXXXXXXXXXXX', 'Accept: application/json' )); $result = curl_exec($cURL); ## this seems to be the line printing the response? curl_close($cURL); echo "<br />--------------------------------------------------------<br />"; var_dump($cURL); echo "<br />--------------------------------------------------------<br />"; var_dump($result); echo "<br />--------------------------------------------------------<br />"; $json = json_decode($result); echo "<br />--------------------------------------------------------<br />"; print_r($json); echo "<br />--------------------------------------------------------<br />"; echo $json->word; echo $json->definitions[0]->definition; echo "<br />--------------------------------------------------------<br />"; ?>

Y la salida es:

 {"word":"incredible","definitions":[{"definition":"beyond belief or understanding","partOfSpeech":"adjective"}]} -------------------------------------------------------- resource(2) of type (Unknown) -------------------------------------------------------- bool(true) -------------------------------------------------------- -------------------------------------------------------- 1 -------------------------------------------------------- --------------------------------------------------------

¿Ves cómo aparece mi JSON en la pantalla antes de mi primera declaración de eco? ¿Por qué está pasando esto?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

cURL no devuelve la transferencia pero da salida. No debe generar su transferencia. Agregue la opción CURLOPT_RETURNTRANSFER con valor verdadero. También en la respuesta JSON, las definiciones no son un objeto, es una matriz y también se analizarán como una matriz en php. Además, no hay una clave de attachments en respuesta, por lo que no puede acceder a ella.

 $url = 'XXXXXXXXXXXXXXXXXXXXX'; $cURL = curl_init(); curl_setopt($cURL, CURLOPT_URL, $url); curl_setopt($cURL, CURLOPT_HTTPGET, true); curl_setopt($cURL, CURLOPT_HTTPHEADER, array( 'X-Mashape-Key: XXXXXXXXXXXXXXXXXXXXXXXXX', 'Accept: application/json' )); curl_setopt($cURL, CURLOPT_RETURNTRANSFER, 1); // add this line to catch your response with curl_exec function. $result = curl_exec($cURL); $json = json_decode($result); print_r($json); // this will print parsed json. echo $json->word; echo $json->definitions[0]->definition; // Get First Entry of definitions
over 4 years ago · Santiago Trujillo Report

0

Utilice $json = json_decode($json); y luego puedes usar $json['word'] y así sucesivamente.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!