JavaScriptオブジェクト转json

WBOY
WBOYオリジナル
2023-05-15 19:33:372667ブラウズ

開発プロセス中に、JavaScript オブジェクトを JSON データに変換する必要が生じることがよくあります。 JSON (JavaScript Object Notation) は、JavaScript オブジェクトの構文と構造に基づく軽量のデータ交換形式で、フロントエンドおよびバックエンドのデータ送信と保存に広く使用されています。

JavaScript では、オブジェクトは複数のプロパティとメソッドを含むことができる複雑なデータ型です。オブジェクトを JSON データに変換する場合は、JavaScript オブジェクトを文字列形式の JSON データにシリアル化する JSON.stringify() メソッドを使用できます。いくつかの例を見てみましょう:

// 定义一个 JavaScript 对象
var person = {
  name: "张三",
  age: 18,
  gender: "男"
};

// 将 JavaScript 对象转换为 JSON 数据
var json = JSON.stringify(person);

// 输出 JSON 数据
console.log(json);
// 输出:{"name":"张三","age":18,"gender":"男"}

上の例では、名前、年齢、性別の 3 つのプロパティを持つ person という名前の JavaScript オブジェクトを定義します。次に、JSON.stringify() メソッドを使用してオブジェクトを JSON データに変換し、JSON データをコンソールに出力します。

JSON.stringify() メソッドは、単純なオブジェクトに加えて、配列、文​​字列、値などの他のデータ型もシリアル化できます。いくつかの例を次に示します。

// 序列化字符串
var str = "Hello World!";
var json = JSON.stringify(str);
console.log(json); // 输出:""Hello World!""

// 序列化数组
var arr = [1, 2, 3];
var json = JSON.stringify(arr);
console.log(json); // 输出:"[1,2,3]"

// 序列化数值
var num = 123;
var json = JSON.stringify(num);
console.log(json); // 输出:"123"

JSON シリアル化を実行する場合、オブジェクトに関数や Unknown などの不正な値が含まれている場合、それらは無視されることに注意してください。同時に、JSON.stringify() は 2 番目のパラメーターも受け入れることができます。これは、シリアル化する必要がある属性コレクションまたはカスタム シリアル化関数を指定するために使用されます。

ここにいくつかの例があります:

// 序列化指定属性
var person = {
  name: "张三",
  age: 18,
  gender: "男",
  email: "zhangsan@example.com"
};

var json = JSON.stringify(person, ["name", "age"]);
console.log(json); // 输出:"{"name":"张三","age":18}"

// 自定义序列化函数
var person = {
  name: "张三",
  age: 18,
  gender: "男",
  toJSON: function() {
    return {
      name: this.name,
      gender: this.gender
    };
  }
};

var json = JSON.stringify(person);
console.log(json); // 输出:"{"name":"张三","gender":"男"}"

上の例では、2 番目のパラメーターを使用して、名前と年齢属性のみがシリアル化されることを指定するか、カスタム toJSON() 関数を使用して指定します。オブジェクトのシリアル化ロジック。

要約すると、JavaScript オブジェクトから JSON データへの変換は一般的な操作であり、JSON.stringify() メソッドを使用して実現できます。基本的なオブジェクト、配列、文​​字列、数値型に加えて、2 番目のパラメーターまたはカスタム toJSON() 関数を使用してシリアル化ロジックをカスタマイズすることもできます。

以上がJavaScriptオブジェクト转jsonの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。