Go語言---Json

JSON (JavaScript Object Notation)是一種比XML 更輕量級的數據交換格式,在易于人們閱讀和編寫的同時,也易于程序解析和生成。盡管JSON是 JavaScript的一個子集,但 JSON采用完全獨立于編程語言的文本格式,且表現為鍵/值對集合的文本描述形式(類似一些編程語言中的字典結構),這使它成為較為理想的、跨平臺、跨語言的數據交換語言。
開發者可以用 JSON 傳輸簡單的字符串、數字、布爾值,也可以傳輸一個數組,或者一個更復雜的復合結構。在 Web 開發領域中,JSON 被廣泛應用于 Web 服務端程序和客戶端之間的數據通信。
Go 語言內建對 JSON 的支持。使用 Go 語言內置的 encoding/json 標準庫,開發者可以輕松使用 Go程序生成和解析 JSON 格式的數據。

JSON在線解析及格式化驗證

編碼JSON

通過結構體生成JSON

使用 json.Marshal()所數可以對一組數據進行 JSON 格式的編碼。json.Marshal()函數的聲明如下:

fune Marshal(v interface{})([]byte,error)
  • 注意:成員的首字母必須大寫
    在這里插入圖片描述
    在這里插入圖片描述
  • 也可以采用格式化編碼
    在這里插入圖片描述

JSON二次編碼

  • 可以使用小寫,但是后面需要加json:"company"的標識,相當于二次編碼
    在這里插入圖片描述
  • 控制字段是否輸入到屏幕json:"-"
    在這里插入圖片描述
  • 控制bool以字符串的類型進行輸出json:",string"
    在這里插入圖片描述

通過map生成JSON

在這里插入圖片描述

解碼JSON

解碼到結構體

在這里插入圖片描述

  • 需要先定義一個結構體變量,第二個參數使用這個結構體變量的地址。
  • 可以通過fmt.Printf("tmp=%+v\n", tmp)使打印字段更加清晰。
  • 如果只需要其中一部分,可以在定義一個結構體,使用新的結構體進行解碼。
    在這里插入圖片描述

解碼到map

在這里插入圖片描述

通過類型斷言反推類型

  • 解析為map類型是無法通過m[“company”]進行轉化的,要想把數據拆分出來,就要使用類型斷言。
    在這里插入圖片描述
  • 切片類型要使用[]interface{}
    在這里插入圖片描述

從轉化上來說,轉化為map是最簡單的,但是要從map里面知道每一個字段的類型,是需要一步一步的類型斷言才能知道,很不方便,而使用結構體就可以方便的知道每一個類型。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/44152.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/44152.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/44152.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【大模型LLM面試合集】大語言模型架構_layer_normalization

2.layer_normalization 1.Normalization 1.1 Batch Norm 為什么要進行BN呢? 在深度神經網絡訓練的過程中,通常以輸入網絡的每一個mini-batch進行訓練,這樣每個batch具有不同的分布,使模型訓練起來特別困難。Internal Covariat…

【C++高階】高效數據存儲:理解并模擬實現紅黑樹Map與Set

📝個人主頁🌹:Eternity._ ?收錄專欄?:C “ 登神長階 ” 🤡往期回顧🤡:了解 紅黑樹 🌹🌹期待您的關注 🌹🌹 ?模擬實現Map與Set 📒1.…

js ES6 part1

聽了介紹感覺就是把js在oop的使用 作用域 作用域(scope)規定了變量能夠被訪問的“范圍”,離開了這個“范圍”變量便不能被訪問, 作用域分為: 局部作用域、 全局作用域 1. 函數作用域: 在函數內部聲明的…

爬取天氣數據,利用Pyecharts作輪播圖

爬取網站鏈接:https://lishi.tianqi.com/xiamen/202312.html 爬取了廈門市2023年一整年的天氣數據,包括最高溫,最低溫,天氣,風力風向等 爬蟲代碼: import requests import pandas as pd import csv from…

UML建模案例分析-時序圖和類圖的對應關系

概念 簡單地說,類圖定義了系統中的對象,時序圖定義了對象之間的交互。 例子 一個電子商務系統,會員可通過電子商務系統購買零件。具體功能需求如下: 會員請求結賬時,系統驗證會員的賬戶是否處于登錄狀態&#xff1…

極狐GitLab 17.0 重磅發布,100+ DevSecOps功能更新來啦~【三】

GitLab 是一個全球知名的一體化 DevOps 平臺,很多人都通過私有化部署 GitLab 來進行源代碼托管。極狐GitLab :https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中國的發行版,專門為中國程序員服務。可以一鍵式部署…

【基礎篇】1.8 C語言基礎(二)

2.9 預處理指令和宏定義 在STM32開發中,預處理和宏定義常用于配置硬件參數、啟用或禁用特定功能、以及優化代碼以適應不同的硬件配置或應用場景。通過合理地使用預處理和宏定義,我們可以編寫更加靈活、可配置和高效的代碼。 預處理指令如#include、#define等在C語言編程中起…

防火墻圖形化界面策略和用戶認證(華為)

目錄 策略概要認證概要實驗拓撲圖題目要求一要求二要求三要求四要求五要求六 策略概要 安全策略概要: 安全策略(Security Policy)在安全領域具有雙重含義。宏觀上,安全策略指的是一個組織為保證其信息安全而建立的一套安全需求、…

uniapp 微信小程序接入MQTT

MQTT安裝 前期準備 由于微信小程序需要wss,所以要有域名SSL證書 新建目錄/srv/mosquitto/config,/srv/mosquitto/config/cert 目錄/srv/mosquitto/config中新建配置文件mosquitto.conf,文件內容 persistence true persistence_location /m…

深入探索Apache Flink:流處理的藝術與實踐

在當今的大數據時代,流處理已成為處理實時數據的關鍵技術。Apache Flink,作為一個開源的流處理框架,以其高吞吐量、低延遲和精確一次(exactly-once)的語義處理能力,在眾多流處理框架中脫穎而出。本文將深入…

在樹莓派設備上導出系統鏡像

鏡像導出 前提條件: 已獲取可以正常使用的設備。已獲取鼠標、鍵盤和電源適配器。已將設備接入可正常使用的網絡。 操作步驟: 連接適配器給設備上電,正常啟動設備,連接鼠標和鍵盤。在終端命令窗格執行如下命令,安裝…

數據模型-ER圖在數據模型設計中的應用

ER圖在數據模型設計中的應用 1. ER圖概述:起源與發展? 實體-關系圖(Entity Relationship Diagram,簡稱ER圖)起源于1970年代,由Peter Chen首次提出,作為描述數據和信息間關系的圖形化語言。隨著數據庫技術…

[PM]流程與結構設計

流程圖 流程就是為了達到特定目標, 進行的一系列有邏輯性的操作步驟, 由兩個及已上的步驟, 完成一個完整的行為過程, 即可稱為流程, 流程圖就是對這個過程的圖形化展示 分類 業務流程圖 概念: 描述業務流程的一種圖, 通過特定符號和連線表示具體某個業務的處理步驟和過程作…

MyBatis與JDBC相比,有哪些優勢

MyBatis與JDBC(Java Database Connectivity)相比,在多個方面展現出顯著的優勢。這些優勢使得MyBatis在現代軟件開發中成為一個非常受歡迎的選擇,特別是在處理數據庫交互時。以下是MyBatis相比JDBC的主要優勢: 1. 簡化…

極狐GitLab亮相世界人工智能大會,開啟開源大模型賦能軟件研發新時代

GitLab 是一個全球知名的一體化 DevOps 平臺,很多人都通過私有化部署 GitLab 來進行源代碼托管。極狐GitLab :https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中國的發行版,專門為中國程序員服務。可以一鍵式部署…

285個地級市-胡煥庸線數據

全國285個地級市-胡煥庸線數據.zip資源-CSDN文庫 胡煥庸線:中國人口與生態的分界線 胡煥庸線,一條在中國地理學界具有劃時代意義的分界線,由著名地理學家胡煥庸于1935年提出。這條線從黑龍江省的璦琿(現黑河市)延伸至…

json-server總結

Json-server 是一個專門用于模擬 RESTful API 的工具,它允許前端開發人員在不依賴后端 API 的情況下進行開發,通過本地搭建一個 JSON 服務來快速生成 REST API 風格的后端服務。 一、主要特點與功能 快速搭建:Json-server 使用 JSON 文件作…

HippoRAG如何從大腦獲取線索以改進LLM檢索

知識存儲和檢索正在成為大型語言模型(LLM)應用的重要組成部分。雖然檢索增強生成(RAG)在該領域取得了巨大進步,但一些局限性仍然沒有克服。 俄亥俄州立大學和斯坦福大學的研究團隊推出了HippoRAG,這是一種創新性的檢索框架,其設計理念源于人類…

數學建模美賽論文文檔

目錄 1. 摘要:1.1 閱讀并理解題目1.2 背景介紹1.3 問題提出 2. 目錄:2.1 引言(Introduction)2.2 假設與合理性說明(Assumptions and Justifications)2.3 符號說明(Notations)2.4 模型…

2.Date類型的請求參數

前端 <el-form-item label"結束日期" prop"endTime"><el-date-pickerv-model"dataForm.endTime"type"date"value-format"yyyy-MM-dd HH:mm:ss"placeholder"選擇日期"></el-date-picker></el…