Во-первых, (ключ, значение) более хорошо представлен (индекс, значение).Правильная версия этого фрагмента кода выведет следующее:
0 {"user1": "matt", "user2": "kim", "user3": "Tim"}
, где 0 - первый индекс массива, а json - полное значение.Итак, я думаю, что вы используете плохой подход.Попробуйте изменить свой массив на что-то вроде этого:
$scope.rows = [
{key: 'user1', user: 'matt'},
{key: 'user1', user: 'kim'},
{key: 'user1', user: 'Tim'},
];
И измените свой HTML-код на:
<table ng-if="displayTable">
<caption>Results</caption>
<tr>
<th>Username</th>
<th>Name</th>
</tr>
<tr ng-repeat="row in rows">
<td> {{row.key}} </td> <td> {{ row.user }} </td>
</tr>
</tr>
</table>