🤘
TypeScriptで入れ子Jsonの型を定義する
こんな形式のJsonを想定する
{
"A": {
"A-0": {
x: 10,
y: 20
},
"A-1": {
x: 12,
y: 11
},
// ...(何個あるかわからない)
},
// ...(何個あるかわからない)
}
interfaceによって定義する
入れ子のJsonは複数Iterfaceを定義することで解消できる。
要素の数が未定またどんなキーが入ってくるかわからない場合は以下のように型を定義できる
[key: string]: number
以上より型定義はこのようになる
interface Alphabet{
[key: string]: AlphabetPre
}
interface AlphabetPre {
[key: string]: Position
}
interface Position {
x: number;
y: number;
}
型付きでJsonを読み込むにはrequireを使う
const json_data: Alphabet = require("JSON_PATH");
参考
Discussion