Go語言中轉(zhuǎn)換JSON數(shù)據(jù)簡單例子
Go語言轉(zhuǎn)換JSON數(shù)據(jù)真是非常的簡單。
以EasyUI的Demo為例,將/demo/datagrid/datagrid_data1.json 拷貝到$GOPATH/src目錄:
JSON.go:
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
)
type product struct {
Productid string
Productname string
Unitcost float32
Status string
Listprice float32
Attr1 string
Itemid string
}
type grid struct {
Total int
Rows []product
}
func main() {
var grid grid
data, err := ioutil.ReadFile("datagrid_data1.json")
if err != nil {
fmt.Println("ReadFile:", err.Error())
}
json.Unmarshal(data, &grid)
fmt.Println(grid)
fmt.Println("----------------------------")
b, _ := json.Marshal(grid)
fmt.Println(string(b))
}
將JSON綁定到結(jié)構(gòu)體,結(jié)構(gòu)體的字段一定要大寫,否則不能綁定數(shù)據(jù)。
相關(guān)文章
安裝GoLang環(huán)境和開發(fā)工具的圖文教程
Go是一門由Google開發(fā)的編程語言,GoLand的安裝非常簡單,本文主要介紹了安裝GoLang環(huán)境和開發(fā)工具的圖文教程,具有一定的參考價值,感興趣的可以了解一下2023-09-09
詳解go 動態(tài)數(shù)組 二維動態(tài)數(shù)組
這篇文章主要介紹了go 動態(tài)數(shù)組 二維動態(tài)數(shù)組,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
如何通過Golang的container/list實現(xiàn)LRU緩存算法
文章介紹了Go語言中container/list包實現(xiàn)的雙向鏈表,并探討了如何使用鏈表實現(xiàn)LRU緩存,LRU緩存通過維護一個雙向鏈表來管理數(shù)據(jù),確保在插入和刪除操作時能夠以O(shè)(1)的平均時間復(fù)雜度運行,提供了鏈表的操作和使用場景,并附帶了實現(xiàn)LRU緩存的代碼示例,感興趣的朋友一起看看吧2025-03-03
詳解Golang中結(jié)構(gòu)體方法的高級應(yīng)用
本文旨在深度剖析Go中結(jié)構(gòu)體方法的高級應(yīng)用。我們不僅會回顧結(jié)構(gòu)體方法的基本概念和用法,還將探討如何通過高級技巧和最佳實踐,希望對大家有所幫助2024-01-01

