golang从结构体中解析出json

golang从json形式中解析出结构体对象

package main

import (
	"encoding/pem"
	"crypto/x509"
	"crypto/rsa"
	"crypto/rand"
	"encoding/json"
	"fmt"
)

var publicKey=[]byte("")
var privateKey=[]byte("")

func RsaEncrypto(data[]byte)  ([]byte,error){
	block, _ := pem.Decode(publicKey)
	pkixPublicKey, _ := x509.ParsePKIXPublicKey(block.Bytes)
	pub := pkixPublicKey.(*rsa.PublicKey)
	return rsa.EncryptPKCS1v15(rand.Reader,pub,data)

}

func RsaDecrypto(data[]byte)([]byte,error)  {
	block,_ := pem.Decode(privateKey)
	pkixPriKey, _ := x509.ParsePKCS1PrivateKey(block.Bytes)
	return rsa.DecryptPKCS1v15(rand.Reader,pkixPriKey,data)

}

type Product struct {
	Name string
	ProductId int64
	Number int
	Price float64
	IsOnSale bool
}


func main()  {
	p := Product{}
	p.Name="apple"
	p.ProductId=1
	p.Number=100
	p.Price=3.45
	p.IsOnSale=false
	data, _ := json.Marshal(&p)
	fmt.Println(string(data))

	//json中解析出结构体
	var p1 Product
	json.Unmarshal(data, &p1)
	fmt.Println(p1.Name)
	fmt.Println(p1.ProductId)
	fmt.Println(p1.Price)

}

结果展示如下:
golang从结构体中解析出json_第1张图片

你可能感兴趣的:(代码示例)