Почему декодирование JSON возвращает null?
Не правильный json, множественные корневые элементы.

[
   {
      "login":"igor",
      "password":"qwerty"
   },
   {
      "login":"igor",
      "password":"qwerty"
   },
   {
      "login":"igor",
      "password":"qwerty"
   }
]
Сначала прочитайте ваш файл построчно, а уже потом эти строки раскодируйте в цикле:
<?php

// Показ ошибок:
ini_set('error_reporting', E_ALL);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);

// Кодировка документа для браузера:
header('Content-Type: text/plain; charset=UTF-8');

$arr = file('data.json'); // Читаем файл в массив построчно

// Раскодируем строки как JSON и записываем обратно в массив:

foreach ($arr as &$val) {
    $val = json_decode($val,  true);
}


print_r($arr); // Выводим результат