json, возвращаемый с php, не может быть проанализирован для jQuery dataTables

У меня простая таблица базы данных mysql с библиотечными книгами. Я использую страницу php для извлечения списка книг. Это то, что он возвращает:

php get_books.php

{"iTotalRecords":"1","aaData":[{"author":"Tim Powers","title":"The Anubis Gates","genre":"Fiction","publisher":null,"year":null,"location":"Bookshelf","notes":null}]} 

В jQuery dataTables у меня есть:

 <script > $(document).ready(function() { $('#books').DataTable({ "bServerSide": true, "sAjaxSource": "./get_books.php" }); }); </script> 

Когда я запускаю веб-страницу с этим скриптом, я получаю предупреждение:

Предупреждение DataTables (таблица id = «books»): предупреждение DataTables: данные JSON с сервера не могут быть проанализированы. Это вызвано ошибкой форматирования JSON.

Я не могу найти, что такое ошибка форматирования. Как следует форматировать данные.

Вот страница php, которая возвращает данные JSON:

 <?php $page = isset($_POST['page']) ? intval($_POST['page']) : 1; $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10; $offset = ($page-1)*$rows; $result = array(); include 'conn.php'; $rs = mysql_query("select count(*) from books"); $row = mysql_fetch_row($rs); $result["iTotalRecords"] = $row[0]; $rs = mysql_query("select * from books limit $offset,$rows"); $items = array(); while($row = mysql_fetch_object($rs)){ array_push($items, $row); } $result["aaData"] = $items; echo json_encode($result); ?> 

Как должно выглядеть обратное и как я его создаю?