-2

我在磁盘上有一个 .json 文件。我想将它加载到我的 php 代码中,以便我可以用它发出 HTTP POST 请求。

我对 XML 做了同样的事情:

$file = 'http://localhost/myServer/test.xml';
$xml_builder = simplexml_load_file($file))

然后我使用该$xml_builder变量通过 CURL 发送 XML。

我怎样才能对 JSON 做同样的事情?

4

4 回答 4

2

我认为您需要执行以下操作:

$variable = file_get_contents('http://example.com/data.json');
$decoded = json_decode($variable);

您需要对其进行解码,因为您将其作为字符串获取$variable,然后根据需要使用它

于 2013-05-03T09:21:48.007 回答
1

试试这个

$file = '/path/to/json.json';
$json = file_get_contents($file);
$data = json_decode($json, true);

它将产生一个数据数组,然后您可以随意使用这些数据

于 2013-05-03T09:20:51.063 回答
1

尝试:

$url = 'URL GOES HERE';
$file = file_get_contents('http://localhost/myServer/test.xml');

// Get cURL resource
$curl = curl_init();
// Set some options - we are passing in a useragent too here
curl_setopt_array($curl, array(
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL => $url,
    CURLOPT_POST => 1,
    CURLOPT_POSTFIELDS => array(
        'xml' => $file
    )
));
// Send the request & save response to $resp
$resp = curl_exec($curl);
// Close request to clear up some resources
curl_close($curl);

//Print response
print_r('<pre>');
print_r($resp);
die();
于 2013-05-03T09:21:46.107 回答
1
$myJSON = file_get_contents('location/of/your/json');
// $myJSON now contains the JSON string. you can already send this with curl.

$myJSONDecoded = json_decode($myJSON);
// now $myJSONDecoded holds an array with the data. which you can use any way you like.
于 2013-05-03T09:22:01.960 回答