laimas,
Чувак {12:"txt"} не может быть это же объект, а вот {"result":1234} выйдет в случае если убрать кавычки json_encode(array('result'=>1234));
В доказательство первого:
<script>
try {
JSON.parse('{12:"txt"}');
}
catch (e){
alert(e);
}
</script>
Да, и кавычки двойные быть должны если парсить не с помощью eval