我想读取服务器上的JSON数据,而服务器上安装的PHP只够运行WordPress。我可以创建新的.php文件,但我没有管理员权限来添加任何不存在的库。在这种情况下,从http请求中获取和解析JSON数据的最简单方法是什么?
kdfy810k1#
谢谢你的指点,但是我想要的答案要简单得多,必要的两行代码是:
$json_data = file_get_contents("php://input"); $json_data = json_decode($json_data, true);
第一行:获取命中页面的json数据。第二行:把它解析成适当的哈希值。
lx0bsm1f2#
如果你是在WordPress的环境中做这个,你应该使用内置的HTTP帮助函数(http://codex.wordpress.org/HTTP_API)。它们比curl简单。例如:
$response = wp_remote_get( $url ); if( is_wp_error( $response ) ) { $error_message = $response->get_error_message(); echo "Something went wrong: $error_message"; } else { echo 'Response:<pre>'; print_r( $response ); echo '</pre>'; }
上面的代码将返回如下内容:
Array ( [headers] => Array ( [date] => Thu, 30 Sep 2010 15:16:36 GMT [server] => Apache [x-powered-by] => PHP/5.3.3 [x-server] => 10.90.6.243 [expires] => Thu, 30 Sep 2010 03:16:36 GMT [cache-control] => Array ( [0] => no-store, no-cache, must-revalidate [1] => post-check=0, pre-check=0 ) [vary] => Accept-Encoding [content-length] => 1641 [connection] => close [content-type] => application/php ) [body] => {"a":1,"b":2,"c":3,"d":4,"e":5} [response] => Array ( [code] => 200 [message] => OK ) [cookies] => Array ( ) )
然后可以使用json_decode()将json转换为数组:http://www.php.net/manual/en/function.json-decode.php
zkure5ic3#
使用cURL和json_decode,你可以这样做,如果你运行的是Wordpress,这些可能是可用的。
$session = curl_init('http://domain.com/'); // HTTP URL to the json resource you're requesting curl_setopt($session, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($session, CURLOPT_RETURNTRANSFER, true); $json = json_decode(curl_exec($session)); curl_close($session); echo $json;
b1payxdu4#
默认WordPress功能可用你能试试这个吗参考此https://developer.wordpress.org/reference/functions/wp_json_file_decode/
$data = wp_json_file_decode($_SERVER["DOCUMENT_ROOT"].'/foldername/filename.json'); var_dump($data);
4条答案
按热度按时间kdfy810k1#
谢谢你的指点,但是我想要的答案要简单得多,必要的两行代码是:
第一行:获取命中页面的json数据。第二行:把它解析成适当的哈希值。
lx0bsm1f2#
如果你是在WordPress的环境中做这个,你应该使用内置的HTTP帮助函数(http://codex.wordpress.org/HTTP_API)。它们比curl简单。例如:
上面的代码将返回如下内容:
然后可以使用json_decode()将json转换为数组:http://www.php.net/manual/en/function.json-decode.php
zkure5ic3#
使用cURL和json_decode,你可以这样做,如果你运行的是Wordpress,这些可能是可用的。
b1payxdu4#
默认WordPress功能可用你能试试这个吗
参考此https://developer.wordpress.org/reference/functions/wp_json_file_decode/