Есть ли способ преобразовать файл json в объектную модель в Deno? - PullRequest
1 голос
/ 21 июня 2020

Проблема: Когда я пытаюсь прочитать файл (student. json) и сохранить его в переменной типа Student [], он говорит: «Тип 'unknown' не может быть назначен типу 'Student []'». Это машинописный файл.

import { Student } from "../Models/studentModel.ts";
import { readJson, writeJson } from "https://deno.land/std/fs/mod.ts";

const f = await readJson("../public/student.json");
const students:Student[] = f;

export const get_all_students = (ctx: Context) => {
  return ctx.json(students,200);
};

Ожидание: я пытаюсь вернуть json из файла на сервер. Решения пробовали: я пробовал Json .stringify (). Это по-прежнему дает мне ту же ошибку.

Ответы [ 2 ]

1 голос
/ 21 июня 2020

чтение Json метод возврата типа обещания неизвестен. Неизвестный тип может быть назначен только любому типу и самому неизвестному типу.

Если вы хотите заставить компилятор доверять вам, что значение типа unknown относится к данному типу, вы можете использовать утверждение типа вот так:

 const f = await readJson("./public/student.json");
 const students:Student[] = f as Student[];
0 голосов
/ 21 июня 2020

Чтобы решить указанную выше ошибку, просто используйте утверждение типа :

const students = f as Student[];

Я не знаком с означенным, но уверен, что вы можете просто записать файл в поток ответов или передать его с соответствующими заголовками. Не уверен, имеет ли это смысл для вашего сценария.

...