4

这是我用来从Feedbin API获取 JSON 文件的函数。

<?php
error_reporting(E_ALL);

// JSON URL which should be requested
$json_url = 'https://api.feedbin.me/v2/entries.json';

$username = 'my_username';  // authentication
$password = ' my_password';  // authentication

// Initializing curl
$ch = curl_init( $json_url );

// Configuring curl options
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => $username . ":" . $password   // authentication
);

// Setting curl options
curl_setopt_array( $ch, $options );

// Getting results
$result =  curl_exec($ch); // Getting JSON result string

print_r ($result);
?>

问题是我得到的 JSON 有点……奇怪。它有很多字符,如\u003E\u003C/a\u003E\u003C/p\u003E\n\u003Cp\u003E ...您可以在此处查看 JSON 。

4

2 回答 2

3

当您json_decode在 PHP 中调用包含这些编码的字符串时,它们将被正确解码。 http://json.org/列为\ufour-hex-digits有效字符。没有问题。

$ echo json_decode('"\u003E\u003C/a\u003E\u003C/p\u003E\n\u003Cp\u003E"');
></a></p>
<p>
于 2013-06-06T18:02:13.560 回答
2

它们是有效的 unicode 序列。这是一个简单的例子

$data = array(
        "abc" => 'åbcdéfg'
);

// Encode
$data = json_encode($data) . "\n";

// Output Value
echo $data;

// Output Decoded Value
print_r(json_decode($data));

输出

{"abc":"\u00e5bcd\u00e9fg"}
stdClass Object
(
    [abc] => åbcdéfg
)
于 2013-06-06T18:06:10.943 回答