私は cURL を使用して、ページの POST と取得をいじっています。POST データをエンコードしようとしているサイトが、次のようにエンコードされていることに気付きました。
Data=%7B%22Data%22%3A%22%5B%7B%5C%22
PHPでこれをエンコード/デコードするにはどうすればよいですか? 代わりにそれを行う Web サイトを見つけましたが、自分で行う方法を学びたいと思います。
urldecode()関数を見てください:
echo urldecode('Data=%7B%22Data%22%3A%22%5B%7B%5C%22'); // Data={"Data":"[{\"
そして、それを再エンコードするためのurlencode()関数 (= 記号を含む):
echo urlencode('Data={"Data":"[{\"'); // Data%3D%7B%22Data%22%3A%22%5B%7B%5C%22
JSON 文字列が送信されているようです。次の操作を行うことで、これを操作しやすい形式に変換できます。
$fields = parse_str('Data=%7B%22Data%22%3A%22%5B%7B%5C%22');
$data = $fields['Data']; //$data now contains the decoded JSON as a string
$array = json_decode($data); //parse the JSON into an associative array
var_dump($array); //see what it looks like (could also use print_r($array);)