Gerar arquivo Json pelo Javascript

Olá boa tarde a todos.

Alguém sabe como proceder para gerar um arquivo Json a partir do javascript? Eu recebo os dados de vários usuários do BD em sequencia, porém tentei passar usando array e não consegui. To fazendo passando valor por valor: $doc['id'][$i], $doc['nome'][$i]. Porém gostaria de organizá-los no formato Json. Segue o código de consulta e o trecho php:

<?php
	$iddisciplina = $_POST["id"]; // Id turma
	
	include("conecta.php");
	session_start();
	
	$stmt3 = $conn->prepare('SELECT *FROM usuario WHERE turma=:id');
	$stmt3->bindValue(':id', $iddisciplina);  
	$stmt3->execute();		
	
	$vetor = array();
	
	$i=0;
	while($row5 = $stmt3->fetch(PDO::FETCH_ASSOC)) {
		$nome = $row5['nome']; 
		$id = $row5['id'];
		
		// Pega e exibe horarios e dias juntos para o usuario
		$doc['id'][$i] = $id;
		$doc['nome'][$i] = $nome;
		echo $doc['id'][$i]." ".$doc['nome'][$i];
		$i++;
	}
	
	// Passa o array fora do laço com o encode
	//echo json_encode($doc);
?>
$("select#sel_datahor").change(function() {
	// Id da turma no hidden
	var value = $("input#id-dicsiplina").val(); 
	//alert(value);
	
	$.ajax({
		type: 'post',
		url: 'retorna-lista.php',
		data: 'id='+ value,
		dataType: 'html',
		success : function(txt) {
			//Json.parse(txt); // Tentei fazer essa conversão e n funcionou
			alert(txt); // Aparece o que mandei na img
			
			/*
			for($i=0;$i<obj['id'].length;$i++) {
				alert(obj['nome'][$i]);
				// Carrega os alunos pra tabela alunos
				$("#tb_alunos").append("<tr id=\"teste\"><td class=\"iduser\" colspan=\"4\">"+obj['id'][$i]+ " </td><td >" +obj['nome'][$i]+ " </td></tr>");
			}
			*/
		}
	});

Para criar JSON a partir de javascript é simples, vou citar uma forma de fazer, criando um objeto de forma literal.

<script>

// Declarando um objeto com estrutura JSON
var objeto = { 
    'valorUm': variavelUm,
    'valorDois': variavelDois
};
</script>

Huum entendi. Vou tentar fazer direto pelo arquivo php pra gerar o json, e só voltar com uma mensagem de confirmação pro Jquery.