JSON学習メモ
JSON が登場します
対話型ツールとして xmlHttpRequest コンポーネントを使用し、データ送信形式として XML を使用します。
[ XML ]
XML を送信形式として使用する利点:
1. 標準に準拠した統一形式
2. リモートで他のシステムと対話するのが簡単、データ共有がより便利です
欠点:
1. XML ファイル形式が巨大で、形式が複雑で、送信に帯域幅が消費されます
2.サーバーとクライアントは XML を解析するために多くのコードを必要とし、サーバー側とクライアント側のコードは両方とも非常に複雑になり、保守が困難になりました
3. クライアント側の異なるブラウザ間で XML を解析する方法が一貫していません。多くのコードを繰り返し記述する必要があります
4. サーバー側とクライアントでの XML の解析にはリソースと時間が消費されます
[ JSON ]
XML 形式に変換できますが、他の形式はありますか? JSON (JavaScript Object Notation) と呼ばれる軽量のデータがあります。
利点:
1。シンプルで読み書きが簡単、形式は圧縮されており、帯域幅をほとんど消費しません
2. この言語は解析が簡単で、クライアント側の JavaScript は eval() を通じて JSON データを簡単に読み取ることができます
3. をサポートします。 ActionScript、C、C#、ColdFusion、Java、JavaScript、Perl、PHP、Python、Ruby およびその他の言語を含む複数の言語 サーバー側の解析を容易にするサーバー側言語
4. PHP の世界では、PHP-JSON とPHP のシリアル化されたプログラムの直接呼び出しを容易にする JSON-PHP が登場し、クライアントのアクセスや抽出に便利な JSON 形式を直接生成できます。
さらに、PHP の PEAR クラスのサポートが提案されました。 (http://www.php.cn/)
5. JSON 形式はサーバーサイドコードで直接使用できるため、サーバーが大幅に簡素化されます。ターミナルとクライアントでのコード開発の量は少ないですが、完了したタスクは同じままであり、保守が簡単です
欠点:
1. XML 形式ほど普及して広く使用されておらず、XML ほど汎用性がありません
2。 Web サービスにおける JSON 形式の普及はまだ初期段階です
追記: Google の Ajax は JSON テンプレートを使用して作られていると言われています
JSON 定義
JSON (JavaScript Object Notation)読み書きが簡単で、マシンによる解析と生成も簡単な軽量のデータ交換形式です。これは、ECMA262 言語仕様 (第 3 版 1999-12) の JavaScript プログラミング言語のサブセットに基づいています。 JSON はプログラミング言語に依存しないテキスト形式を採用していますが、C に似た言語 (C、C++、C#、Java、JavaScript、Perl、Python などを含む) の習慣も使用しています。これらの特性が JSON を作ります。理想的なデータ交換フォーマットです。
JSON の構造は次の 2 つの点に基づいています
1. 「名前と値」のペアのコレクション。さまざまな言語では、オブジェクト、レコード、構造として理解されます。辞書 (辞書)、ハッシュ テーブル (ハッシュ テーブル)、キー付きリスト (キー付きリスト) など。
2. 値の順序付きリストは、ほとんどの言語で配列 (配列) として理解されます。
JSON の使用法:
JSON は、JavaScript オブジェクトを表す特定の文字列形式で始まります。このような形式の文字列を JavaScript 変数に代入すると、その変数はオブジェクト参照になり、このオブジェクトはその文字列から構築されます。少しわかりにくいと思われるため、例を使用して説明します。
ここでは、次の属性を持つ User オブジェクトを作成する必要があると仮定します。
User ID
Username
User Email
User オブジェクトを表すには、次の JSON フォームを使用できます。
JavaScript コード
{"UserID":11, "Name":"Truly", "Email":"zhuleipro◎hotmail.com"};
この文字列を JavaScript 変数に代入すると、次のようになります。オブジェクトの任意のプロパティを直接使用します。
完全なコード:
JavaScript コード
<script> var User = {"UserID":11, "Name":"Truly", "Email":"zhuleipro◎hotmail.com"}; alert(User.Name); </script>
実際の使用では、より複雑になる可能性があります。たとえば、FirstName と LastName が含まれるように、Name のより詳細な構造を定義します。 >JavaScript コード
{"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"}
完全なコード:
JavaScript コード
<script> var User = {"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"}; alert(User.Name.FirstName); </script>
ここで、ページの 1 つには単一のユーザー情報だけでなくユーザー リストが必要なので、ユーザーを作成する必要があります。リスト配列。
次のコードは、JSON を使用してこのユーザー リストを定義する方法を示しています:
JavaScript コード
[ {"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"}, {"UserID":12, "Name":{"FirstName":"Jeffrey","LastName":"Richter"}, "Email":"xxx◎xxx.com"}, {"UserID":13, "Name":{"FirstName":"Scott","LastName":"Gu"}, "Email":"xxx2◎xxx2.com"} ]
JavaScript コード
<script> var UserList = [ {"UserID":11, "Name":{"FirstName":"Truly","LastName":"Zhu"}, "Email":"zhuleipro◎hotmail.com"}, {"UserID":12, "Name":{"FirstName":"Jeffrey","LastName":"Richter"}, "Email":"xxx◎xxx.com"}, {"UserID":13, "Name":{"FirstName":"Scott","LastName":"Gu"}, "Email":"xxx2◎xxx2.com"} ]; alert(UserList[0].Name.FirstName); </script>
JavaScript コード
コードをコピー コードは次のとおりです。
alert(UserList[0]["Name"]["FirstName"]); 或者 alert(UserList[0].Name["FirstName"]);
现在读者应该对JSON的使用有点认识了,归纳为以下几点:
对象是属性、值对的集合。一个对象的开始于“{”,结束于“}”。每一个属性名和值间用“:”提示,属性间用“,”分隔。
数组是有顺序的值的集合。一个数组开始于"[",结束于"]",值之间用","分隔。
值可以是引号里的字符串、数字、true、false、null,也可以是对象或数组。这些结构都能嵌套。
字符串和数字的定义和C或Java基本一致。
小节:
本文通过一个实例演示,初步了解了JSON 的强大用途。可以归结如下:
JSON 提供了一种优秀的面向对象的方法,以便将元数据缓存到客户机上。
JSON 帮助分离了验证数据和逻辑。
JSON 帮助为 Web 应用程序提供了 Ajax 的本质。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









golangWebSocket と JSON の組み合わせ: データ送信と解析の実現 現代の Web 開発では、リアルタイムのデータ送信がますます重要になっています。 WebSocket は双方向通信を実現するために使用されるプロトコルで、従来の HTTP リクエスト/レスポンス モデルとは異なり、WebSocket を使用すると、サーバーがクライアントにデータをアクティブにプッシュできます。 JSON (JavaScriptObjectNotation) は、簡潔で読みやすいデータ交換用の軽量形式です。

Gson@Expose アノテーションを使用して、フィールドがシリアル化または逆シリアル化のために公開されているかどうか (含まれているかどうか) をマークできます。 @Expose アノテーションは 2 つのパラメータを取ることができ、各パラメータはブール値で、値 true または false を取ることができます。 GSON が @Expose アノテーションに反応できるようにするには、GsonBuilder クラスを使用して Gson インスタンスを作成し、excludeFieldsWithoutExposeAnnotation() メソッドを呼び出す必要があります。これにより、Expose アノテーションのないすべてのフィールドがシリアル化または逆シリアル化から除外されるように Gson が設定されます。構文 publicGsonBuilderexclud

MySQL5.7 と MySQL8.0 は 2 つの異なる MySQL データベース バージョンであり、それらの間には主な違いがいくつかあります: パフォーマンスの向上: MySQL8.0 では、MySQL5.7 と比較してパフォーマンスがいくつか向上しています。これには、より優れたクエリ オプティマイザー、より効率的なクエリ実行プランの生成、より優れたインデックス作成アルゴリズムと並列クエリなどが含まれます。これらの改善により、クエリのパフォーマンスとシステム全体のパフォーマンスが向上します。 JSON サポート: MySQL 8.0 では、JSON データのストレージ、クエリ、インデックス作成など、JSON データ型のネイティブ サポートが導入されています。これにより、MySQL での JSON データの処理と操作がより便利かつ効率的になります。トランザクション機能: MySQL8.0 では、アトミックなどのいくつかの新しいトランザクション機能が導入されています。

PHP 配列を JSON に変換するためのパフォーマンスの最適化方法には、JSON 拡張機能と json_encode() 関数の使用、文字エスケープを回避するためのバッファーの使用、およびサードパーティのエンコード結果の使用の検討が含まれます。 JSONエンコーディングライブラリ。

C# 開発で XML および JSON データ形式を処理する方法には、特定のコード サンプルが必要です。現代のソフトウェア開発では、XML と JSON の 2 つのデータ形式が広く使用されています。 XML (Extensible Markup Language) はデータの保存と送信に使用されるマークアップ言語であり、JSON (JavaScript Object Notation) は軽量のデータ交換形式です。 C# 開発では、XML と JSON データの処理と操作が必要になることがよくありますが、この記事では、C# を使用してこれら 2 つのデータ形式を処理し、添付する方法に焦点を当てます。

golang で json.MarshalIndent 関数を使用して、構造をフォーマットされた JSON 文字列に変換します。Golang でプログラムを作成するとき、多くの場合、構造を JSON 文字列に変換する必要があります。このプロセスでは、 json.MarshalIndent 関数が役に立ちます。フォーマットされた出力。以下では、この関数の使用方法と具体的なコード例を詳しく説明します。まず、データを含む構造体を作成しましょう。以下は目安です

クイック スタート: JSON ファイルを読み取る Pandas の方法、特定のコード サンプルが必要です はじめに: データ分析とデータ サイエンスの分野では、Pandas は重要な Python ライブラリの 1 つです。豊富な機能と柔軟なデータ構造を備え、さまざまなデータを簡単に処理・分析できます。実際のアプリケーションでは、JSON ファイルを読み取る必要がある状況によく遭遇します。この記事では、Pandas を使用して JSON ファイルを読み取る方法を紹介し、具体的なコード例を添付します。 1.パンダのインストール

Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化を制御します。 シリアル化: @JsonIgnore: プロパティを無視します @JsonProperty: 名前を指定します @JsonGetter: get メソッドを使用します @JsonSetter: set メソッドを使用します Deserialization: @JsonIgnoreProperties: プロパティ @ JsonProperty を無視します:名前を指定 @JsonCreator: コンストラクターを使用 @JsonDeserialize: カスタム ロジック
