PHP에서 JSONP 결과 집합 추출: jsonp_decode()로 디코딩
제공한 것과 같은 URL에서 반환된 데이터에 액세스하려면 PHP의 jsonp_decode() 함수를 활용하여 JSONP 결과 집합을 추출할 수 있습니다. JSONP는 JavaScript 함수 호출 내에 JSON 데이터를 포함하는 형식입니다.
구현:
jsonp_decode() 사용 함수: jsonp_decode()를 사용하여 추출된 JSON 데이터를 구문 분석합니다. 구문은 다음과 같습니다.
<code class="php">$data = jsonp_decode($jsonString, $assoc = false);</code>
사용자 정의 jsonp_decode() 함수:
다음 사용자 정의 jsonp_decode() 함수는 JSONP 응답을 처리할 수 있습니다.
<code class="php">function jsonp_decode($jsonp, $assoc = false) { if($jsonp[0] !== '[' && $jsonp[0] !== '{') { // we have JSONP $jsonp = substr($jsonp, strpos($jsonp, '(')); } return json_decode(trim($jsonp,'();'), $assoc); }</code>
사용법:
<code class="php">$yahooSS = "http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=yahoo&callback=YAHOO.Finance.SymbolSuggest.ssCallback"; $yss = fopen($yahooSS,"r"); $data = jsonp_decode($response); // Accessing the result foreach ($data->ResultSet->Result as $result) { echo $result->symbol . " - " . $result->name . "\n"; }</code>
DEMO:
이 예에서는 제안된 기호를 검색하고 표시하는 방법을 보여줍니다. Yahoo Finance Symbol Suggest API의 이름:
<code class="php"><?php // Get JSONP response $yahooSS = "http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=yahoo&callback=YAHOO.Finance.SymbolSuggest.ssCallback"; $result = file_get_contents($yahooSS); // Decode JSONP $data = jsonp_decode($result); // Process results echo "<table>"; echo "<tr><th>Symbol</th><th>Name</th></tr>"; foreach ($data->ResultSet->Result as $result) { echo "<tr><td>" . $result->symbol . "</td><td>" . $result->name . "</td></tr>"; } echo "</table>"; ?></code>
위 내용은 jsonp_decode()를 사용하여 PHP에서 JSONP 결과 집합을 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!