golang 中對json資料讀寫
程式設計中,我們很常會把資料以json格式儲存在檔案中或者讀取json檔案,golang有內建對json資料的處理包 encoding/json
// file name: test.go
package main
import (
"encoding/json"
"fmt"
"log"
"os"
)
type User struct {
Name string
Age int8
}
func testMarshal() []byte {
user := User{
Name: "Tab",
Age: 18 ,
}
data, err := json.Marshal(user)
if err != nil {
log.Fatal(err)
}
return data
}
func testUnmarshal(data []byte) {
var user User
err := json.Unmarshal(data, &user)
if err != nil {
log.Fatal(err)
}
fmt.Println(user)
}
func testRead() []byte {
fp, err := os.OpenFile("./data.json", os.O_RDONLY, 0755)
defer fp.Close()
if err != nil {
log.Fatal(err)
}
data := make([]byte, 100)
n, err := fp.Read(data)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(data[:n]))
return data[:n]
}
func testWrite(data []byte ) {
fp, err := os.OpenFile("data.json", os.O_RDWR|os.O_CREATE, 0755)
if err != nil {
log.Fatal(err)
}
defer fp.Close()
_, err = fp.Write(data)
if err != nil {
log.Fatal(err)
}
}
func main() {
var data []byte
data = testMarshal()
fmt.Println(string(data))
testWrite(data)
data = testRead()
testUnmarshal(data)
}
這段程式碼主要是先對資料進行序列化然後儲存到檔案中,再從檔案中讀取json資料進行反序列化。
據說 json-iteator 是目前golang中對json格式資料處理最快的包(比官方json包快6倍),好像是滴滴團隊開源的,使用起來也非常方便,有興趣的可以學習學習,下面我們看看官方的示例程式碼,使用起來也是很方便
package main
import "github.com/json-iterator/go"
type User struct {
Name string
Age int8
}
func main() {
user := User{
Name: "tanggu",
Age: 18,
}
var jsoniter = jsoniter.ConfigCompatibleWithStandardLibrary
// 序列化
data, err := jsoniter.Marshal(&user)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(data))
// 反序列化
var people User
err = jsoniter.Unmarshal(data, &people)
if err != nil {
log.Fatal(err)
}
fmt.Println(people)
}
相關推薦
golang 中對json資料讀寫
程式設計中,我們很常會把資料以json格式儲存在檔案中或者讀取json檔案,golang有內建對json資料的處理包 encoding/json // file name: test.go pa
sql語句中對json資料的操作
sql語句中對json資料的操作 1.獲取指定json字串中指定的屬性值,以下三種寫法等價: //attributes_json欄位的值為一個json字串,下面的
golang中map並發讀寫問題及解決方法
傳值調用 .data 協程 資源 線程 string 錯誤 int println 一、map並發讀寫問題 如果map由多協程同時讀和寫就會出現 fatal error:concurrent map read and map write的錯誤 如下代碼很容易就出現map並發
SpringMvc中對json資料的處理
1、使用@ResponseBody實現資料輸出 @ResponseBody的作用: 將標註此註解的處理方法的返回值結果直接寫入HTTP ResponseBody (Re
Linux 核心驅動中對檔案的讀寫
有時候需要在Linux kernel–大多是在需要除錯的驅動程式–中讀寫檔案資料。在kernel中操作檔案沒有標準庫可用,需要利用kernel的一些函式,這些函式主 要有: filp_open() filp_close(), vfs_read() vfs_write
python中 對檔案的讀寫操作 以及如何邊寫入 邊儲存flush()
首先 python中開啟檔案大致常用的幾類如下: 1.寫入檔案write #這種寫入方式會將原文字刪除,重新寫入 File = open("test.txt",'w') 2.讀取檔案read File = open("test.txt",'a+')
Java中對檔案的讀寫操作
像我們經常會遇到這樣的事情,例如一個txt檔案中有姓名和電話,這個時候很經常就需要將名字和電話號碼進行提取操作,這個時候就可以利用Java中io來實現了。 這裡我就不具體介紹io中的位元組流和字元流的異同點了,有興趣的同學可以自己百度百度。 今天主要是介紹一下如何實現對檔案
JAVA中關於對像的讀寫
導入 異常捕獲 ima alt cto exc dex 創建 wid 1 /** 2 * 針對對象的文件讀寫 3 */ 4 5 //導入包 6 import java.io.File; 7 import java.io.FileInputStream;
python中json檔案讀寫
下面介紹json檔案的相關操作 我瞭解到Json,全名 JavaScript Object Notation,是一種輕量級的資料交換格式。Json最廣泛的應用是作為AJAX中web伺服器和客戶端的通訊的資料格式。現在也常用於http請求中,所以對json的各種學習,是自然而然的事情。
ios中使用 NSJSONSerialization對 json資料的解析
Object Notation) 是一種輕量級的資料交換格式,它基於ECMAScript的一個子集。 JSON採用完全獨立於語言的文字格式,但是也使用了類似於C語言家族的習慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的資料交換語言。
Delphi中Json格式讀寫
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids, DBGrids, DB, DBTables;
iOS開發中對JSON解析資料的處理
在網上看到一個例子,對JSON解析出來的資料處理的方法非常簡單,而且通用,把我對它理解的思路寫一下。 首先介紹下JSON解析,JSON解析出來的資料只有陣列和物件兩種結構。 objective - c中用字典來儲存物件資訊。key值對應物件名字,value值對應物件的值。在
C#中 EPPlus對Excel的讀寫
1. EPPlus概述EPPlus 是使用Open Office XML格式(xlsx)讀寫Excel 2007 / 2010檔案的.net開發庫。EPPlus 支援:單元格範圍單元格樣式(邊框,顏色,填充,字型,數字,對齊)圖表圖片形狀批註表格保護加密資料透視表資料驗證條件
Python—對Excel進行讀寫操作
href ace 需要 文件中 tle net 過程 ova 設置 學習Python的過程中,我們會遇到Excel的讀寫問題。通過搜索得知,我們可以使用xlwt module將數據寫入Excel表格,使用xlrd module從Excel讀取數據。下面介紹如何實現使用pyt
【python 3.6】xlwt和xlrd對excel的讀寫操作
times python _for 一行 xlsx datetime 列數 font utf-8 #python 3.6 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = ‘BH8ANK‘ im
關於c++對文件讀寫的封裝
hfile value val style urn 兩種 pat pos write 1 namespace 2 { 3 UINT_T GetWriteSizeForNoBuf(UINT_T fsize) 4 { 5
Office加載項對Excel進行讀寫操作
ted 是否 nta 文字 個人 asc log account col 轉載自我的個人主頁 前言 在開發ExcelWeb插件的時候,一大亮點就是可以在web項目中操作Excel,讀取Excel的內容,也可以將服務端的數據寫入的 Excel中,大大方便的用戶使用Excel
MySQL中的事務及讀寫鎖實現並發訪問控制
hang dea 執行c 定時 ack 幫助 持久 表操作 查看 一、並發控制中鎖的概念 鎖是並發控制中最核心的概念之一,在MySQL中的鎖分兩大類,一種是讀鎖,一種是寫鎖,讀鎖也可以稱為共享鎖(shared lock),寫鎖也通常稱為排它鎖(exclusive loc
SQL海量資料讀寫效能優化
轉載:http://www.kuqin.com/shuoit/20141127/343501.html 專案背景 這是給某資料中心做的一個專案,專案難度之大令人髮指,這個專案真正的讓我感覺到了,商場如戰場,而我只是其中的一個小兵,太多的戰術,太多的高層之間的較量,太多的內幕
js裡的sort()對json資料(某一欄位)進行排序,超實用!!!
首先來看一下接口裡的資料,對哪一資料進行操作 { "hourList": [{ "DATA_DATE": "00", "USE_SUM": 9.58 }, { "DATA_DATE": "03", "USE_SUM": 23.18 }, { "DATA_DATE": "