json の完全名は Javascript object notation で、中国語の完全名は js object notation です。シリアル化および逆シリアル化プロトコルには、json、xml、yaml、プロトコル バッファーなどがあります。このうち、フロントエンドおよびバックエンド API の契約データの主な送信形式は json です。 json は、数値、ブール値、配列、オブジェクトの 4 つのデータ型をサポートしています。これら 4 つのデータ型を使用して、複雑なデータ モデルを構築できます。 |
ここでは、json の使用法を説明するために 3 つの例を示します。初心者の場合、データの送受信に 1 つの構造体オブジェクトのみを使用することが多いかもしれません。以下に具体的な例を見てみましょう。 1. 構造体オブジェクトを使用してデータを受信します。 「」 type 人の構造体 { 名前文字列 `json:"name"` 年齢 int `json:"age"` } 関数 main() { データ := `{"名前": "アリス", "年齢": 25}` var p 人 err := json.Unmarshal([]byte(data), &p) エラーの場合 != nil { fmt.Println("json の解析に失敗しました:"、エラー) 戻る
###構造###
}<br>
<br><br>
func main() {
var (
新しい1人あたり
bts []バイト<br>
)<br>
per:=人{<br>
名前:「リリー」、<br>
年齢: 29,<br>
}<br>
// シリアル化<br>
bts の場合、err = json.Marshal(per); err !=nil{<br>
log.Fatal(err.Error())<br>
戻る###
}<br><br>
<br><br>
if err = json.Unmarshal(bts, &newPer); err !=nil{<br>
log.Fatal(err.Error())
戻る###
}
fmt.Println(newPer)
}<br><br>
###地図###
<br><br>関数メイン() {<br>
var (<br>
smap = マップ[文字列]int{
「年齢」: 28,
newSmap = make(map[string]int)
bts []バイト<br>
)<br>
bts の場合、err = json.Marshal(smap); err !=nil {<br>
log.Fatal(err.Error())<br>
戻る###
}<br>
if err = json.Umarshal(bts, &newSmap); err !=nil {<br>
log.Fatal(err.Error())<br>
戻る###
}<br>
fmt.Println(newSmap)<br>
}<br><br>
<br>配列またはスライス動的配列<br>
<br><br>関数メイン() {<br>
var (<br>
年齢 []int = []int{23, 20, 28, 25, 30}<br>
bts []バイト<br>
エラーエラー
newAges = make([]int, len(ages))
戻る###
}
if err = json.Unmarshal(bts, &newAges); err != nil {<br>
fmt.Println(err.Error())<br>
戻る###
}<br>
fmt.Println("新しい時代: ", newAges)<br>
戻る###
}<br><br>
初心者は、構造の json シリアル化と逆シリアル化については比較的明確ですが、後者の 2 つはめったに使用しない、またはまったく使用しない可能性があります。 <br>
<br>
<br>配列型データの場合、一部のビジネス シナリオのフロントエンドで使用されます。 <br>
<br>マップ タイプの場合、サードパーティ REST インターフェイスが Go 言語サーバーで呼び出されるとき、サーバーは呼び出しが成功したかどうかを判断するために指定された戻りコードのみを必要とします。プログラマは構造体全体の定義を書きたくなかったか、あるいは怠け者だったので、戻りデータを受け取るために map[string]interface{} を使用しました。このとき、json標準ライブラリのUnmarshalでデシリアライズした後、map["err_code"].(int)でリターンコードを取得し、その後のその他の処理ロジックを実行します。 <br>
<br>
<br> ここでは、構造体を使用するときに時々使用する機能についても説明する必要があります。構造体の JSON でサポートされているタグ値機能は、空を省略しています。例: <br>
<br>タイプ パーソン構造体 {<br>
名前文字列 `json:"name,omitempty"`
年齢 int `json:"age"`
}
- ここでは、Didi Company のシニア エンジニアである Taowen が作成した世界最速の JSON 解析ライブラリを提供します。 github アドレス: jsoniter。
OpenFermion ダウンロード アドレス: クリックしてダウンロード
<br>
この記事はオープンソースチャイナコミュニティ[http://www.oschina.net]からの転載です。
以上がjsonデータのシリアル化と逆シリアル化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Linux管理者の平均年salは、米国で75,000〜95,000ドル、ヨーロッパでは40,000〜60,000ユーロです。給与を増やすには、次のことができます。1。クラウドコンピューティングやコンテナテクノロジーなどの新しいテクノロジーを継続的に学習します。 2。プロジェクトの経験を蓄積し、ポートフォリオを確立します。 3.プロフェッショナルネットワークを確立し、ネットワークを拡大します。

Linuxの主な用途には、1。Serverオペレーティングシステム、2。EmbeddedSystem、3。Desktopオペレーティングシステム、4。開発およびテスト環境。 Linuxはこれらの分野で優れており、安定性、セキュリティ、効率的な開発ツールを提供します。

インターネットは単一のオペレーティングシステムに依存していませんが、Linuxはその上で重要な役割を果たしています。 Linuxは、サーバーやネットワークデバイスで広く使用されており、安定性、セキュリティ、スケーラビリティに人気があります。

Linuxオペレーティングシステムのコアは、コマンドラインインターフェイスで、コマンドラインを介してさまざまな操作を実行できます。 1.ファイルおよびディレクトリ操作は、ファイルとディレクトリを管理するために、LS、CD、MKDIR、RM、その他のコマンドを使用します。 2。ユーザーおよび許可管理は、useradd、passwd、chmod、その他のコマンドを介してシステムのセキュリティとリソースの割り当てを保証します。 3。プロセス管理は、PS、Kill、およびその他のコマンドを使用して、システムプロセスを監視および制御します。 4。ネットワーク操作には、Ping、Ifconfig、SSH、およびネットワーク接続を構成および管理するためのその他のコマンドが含まれます。 5.システムの監視とメンテナンスは、TOP、DF、DUなどのコマンドを使用して、システムの動作ステータスとリソースの使用を理解します。

導入 Linuxは、柔軟性と効率性により、開発者、システム管理者、およびパワーユーザーが好む強力なオペレーティングシステムです。しかし、頻繁に長く複雑なコマンドを使用することは退屈でERです

Linuxは、サーバー、開発環境、埋め込みシステムに適しています。 1.サーバーオペレーティングシステムとして、Linuxは安定して効率的であり、多くの場合、高電流アプリケーションの展開に使用されます。 2。開発環境として、Linuxは効率的なコマンドラインツールとパッケージ管理システムを提供して、開発効率を向上させます。 3.埋め込まれたシステムでは、Linuxは軽量でカスタマイズ可能で、リソースが限られている環境に適しています。

はじめに:Linuxベースの倫理的ハッキングでデジタルフロンティアを保護します ますます相互に接続されている世界では、サイバーセキュリティが最重要です。 倫理的なハッキングと浸透テストは、脆弱性を積極的に特定し、緩和するために不可欠です

基本的なLinux学習の方法は次のとおりです。1。ファイルシステムとコマンドラインインターフェイス、2。LS、CD、MKDIR、3。ファイルの作成と編集などのファイル操作を学習するマスター基本コマンド、4。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

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