问题:当我尝试读取文件(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()。它仍然给我同样的错误。
答案 0 :(得分:1)
readJson方法返回未知的Promise类型。未知类型只能分配给任何类型,而未知类型本身也可以分配。
如果您要强制编译器信任您一个未知类型的值是给定类型,则可以使用如下类型断言:
const f = await readJson("./public/student.json");
const students:Student[] = f as Student[];
答案 1 :(得分:0)
要解决上述错误,只需使用type assertion:
const students = f as Student[];
我对deno不熟悉,但是可以肯定的是,您可以只编写文件以响应流,也可以将其与适当的标头一起使用。不确定这对您的情况是否有意义。