添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

チュートリアル

Python 3 Basic Tkinter Python Modules Python Numpy JavaScript Git Matplotlib PyQt5 Data Structure Algorithm

プログラミングのヒント

Python Scipy Python Pygame Python Python Tkinter Batch PowerShell Python Pandas Numpy Python Flask Django Matplotlib Docker Plotly Seaborn Matlab Linux Git C Cpp HTML JavaScript jQuery TensorFlow TypeScript Angular React CSS PHP Java Go Kotlin Node.js Csharp Rust Ruby Arduino MySQL MongoDB Postgres SQLite R VBA Scala Raspberry Pi

関数参照

Python Pandas Numpy Scipy

文字列はインターネットを介した通信手段であり、すべてのデータは JSON と呼ばれる非常に一般的な形式で転送されます。このデータの JSON 表現は、多くの場合、TypeScript のオブジェクトまたはクラスを表します。

このチュートリアルでは、JSON 文字列を安全に解析して TypeScript オブジェクトに戻す方法に焦点を当てます。

JSON.parse() を使用して、JSON 文字列を TypeScript のオブジェクトに解析する

TypeScript は JavaScript のスーパーセットであるため、JavaScript で使用される JSON.parse() 関数は TypeScript でも使用できます。ただし、次のメソッドは、オブジェクトに変換される JSON 文字列に、オブジェクトに関連付けられている必要なすべての属性があることを前提としています。

サンプルコード:

interface Person {
    name : string;
    age : number;
const personString = `{"name" : "david", "age" : 20}`;
const personObj : Person = JSON.parse(personString);
console.log(personObj);
  "name": "david",
  "age": 20

TypeScript で JSON 文字列からオブジェクトへの安全な変換のための Guards の使用

ユーザー定義のガードは、JSON 文字列に必要なプロパティのすべてまたは一部が含まれているかどうかを確認し、差し迫ったニーズに応じてさらに処理するか、拒否することができます。

サンプルコード:

interface Person {
    name : string;
    age : number;
function checkPersonType( obj : any ) : obj is Person {
    return 'name' in obj && 'age' in obj;
const personString1 = `{"name" : "david"}`;
const personString2 = `{"name" : "david", "age" : 20 }`;
const personObj1 : Person = JSON.parse(personString1);
if ( checkPersonType(personObj1)) {
    console.log(personObj1);
} else {
    console.log(personString1 + ' cannot be parsed');
const personObj2 : Person = JSON.parse(personString2);
if ( checkPersonType(personObj2)) {
    console.log(personObj2);
} else {
    console.log(personString2 + ' cannot be parsed');
"{"name" : "david"} cannot be parsed"
  "name": "david",
  "age": 20

TypeScript のランタイムエラーを回避するには、Partial キーワードを使用する

JSON 文字列に一部のフィールドがない場合があります。その場合、オブジェクトの属性にいくつかのデフォルト値を入力できます。

TypeScript の Partial キーワードは、オブジェクトのすべての属性をオプションにすることでこれを実現するのに役立ちます。したがって、null チェック演算子を使用してデフォルト値を設定できます。

サンプルコード:

interface Person {
    name : string;
    age : number;
const personString = `{"name" : "david"}`;
const personObj : Partial<Person> = JSON.parse(personString);
console.log(personObj);
console.log( personObj.age ?? 30);
  "name": "david"

したがって、JSON 文字列には Person インターフェイスで必要とされる age 属性がありませんが、null チェックまたは ?? 演算子は、age 属性のデフォルト値を設定するために使用されます。

Shuvayan is a professional software developer with an avid interest in all kinds of technology and programming languages. He loves all kinds of problem solving and writing about his experiences.

LinkedIn Website