const json: {} | null | undefined = JSON.parse(queryData);
{
"defaultSeverity": "error",
"extends": [
"tslint:all"
],
"rules": {
}
}
タイプ「any」の式の安全でない使用。
const json: any = JSON.parse(queryData);
はできますが、ルールはありません。
「any」型の式を安全に使用せずにJSON.parseの戻り値を取得するにはどうすればよいですか。
ここで何を期待しているのかよくわかりません... any
を使用したいが、 no-any
ルールを維持したいですか? それは完全に矛盾しています。 クエリデータの一致する型を宣言してからconst json: YourType = JSON.parse(queryData);
実行するのを妨げるものは何ですか?
返信ありがとうございます。 はっきりしなかった
私の目標は、no-anyルールを維持することであり、警告なしにJSON.parse(queryData)の結果を取得する方法を検索します。
今私はjsonをします:any = JSON.parse(queryData); =>しかし、私はno-anyを無効にする必要があります。
私があなたの解決策を実行する場合:const json:YourType = JSON.parse(queryData);
次に、安全でないルールを無効にする必要があります。
これが、最初のアプローチで:const json:{} |を試す理由です。 null | undefined = JSON.parse(queryData); ドキュメントhttps://palantir.github.io/tslint/rules/no-unsafe-any/=>を見ると、no-unsafe-anyとnoanyの警告は表示されません。
ただし、JSON.parseは文字列などの他のタイプも返す可能性があるため、このソリューションは1つではありません。
私は実際に解決策があるかどうかはわかりませんが、前に皆さんに専門家に尋ねることを好みます。
@ohrrkanあなたのユースケースは良いものです-通常、人々がすることはJSON.parse(queryData) as MyType
です。 TSLint側でのアクションに対する需要はあまりなかったため、これを今のところアクション不可能として閉じます。 お役に立てば幸いです。