То, что вы делаете, правильно. Мне нравится использовать StdClass для создания объектов, а не массивов значений ключей, просто потому, что это выглядит сексуальнее! Э.Г.
$torrent = new StdClass();
$torrent->url = 'https://www.example.com/?id='.uniqid().'&key='.md5(uniqid());
$torrent->codec = $j%2 == 0 ? 'xvid' : 'h264';
$torrent->resolution = '720p';
$result['torrents'][] = $torrent;
Поскольку вы говорите, что вам не нужно читать целую книгу по этому вопросу, я бы посмотрел здесь http://php.net/manual/en/book.json.php, чтобы разобраться с основами JSON.
С точки зрения JSON против XML, я считаю, что гораздо проще представлять данные в виде JSON, так как легче получать конкретные данные, которые вам нужны, точно так же, как вы можете получить доступ к информации в объекте stdClass.
[EDIT]
И, как говорит Стефан Гериг, убедитесь, что вы определили тип своего контента как «application / json».