有没有什么方法可以将 json 文件转换为 Deno 中的对象模型?

Is there some way to convert a json file to an object model in Deno?

问题:当我尝试读取文件 (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);
};

期望:我正在尝试return json 从文件到服务器。 尝试过的解决方案:我已经尝试过 Json.stringify()。它仍然给我同样的错误。

要解决上述错误,只需使用 type assertion:

const students = f as Student[];

我不熟悉 deno,但很确定您可以将文件写入响应流或使用适当的 headers 提供服务。不确定这对您的场景是否有意义。

readJson 方法return 承诺类型未知。未知类型只能分配给任意类型和未知类型本身。

如果您想强制编译器相信您未知类型的值属于给定类型,您可以使用这样的类型断言:

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