当前位置 : 主页 > 编程语言 > java >

goland中结构体封装成json形式

来源:互联网 收集:自由互联 发布时间:2022-06-23
golang将结构体进行排列,封装成json的形式 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.IsOnSal

golang将结构体进行排列,封装成json的形式

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))
}

另外一个例子

package main

import (
"fmt"
"net/http"
"io"
"github.com/tidwall/gjson"
"strings"
)

type Maths struct {
end string
limit string
math_chinese string
math_id string
math_link string
math_start string
math_value string
math_zang string
start string
}


func main() {


//
//fmt.Println("---------------",gjson.Get(jsonstr1,"richtext.data.items"))
//
//ParseJson(jsonstr3)

resp, err := http.Get("")
if err!=nil {
fmt.Println(err)
}

defer resp.Body.Close()

buf := make([]byte, 80)
str:=""
for ; ; {
n, err := resp.Body.Read(buf)
if err==io.EOF {
fmt.Println(err)
break
}
str+=string(buf[:n])
}

//fmt.Println(str)
mymath := gjson.Get(str, "data.maths.1.#.math_link").String()
fmt.Println("---------------",mymath)
fmt.Printf("%T\n",mymath)
mymath=mymath[2:len(mymath)-2]
split := strings.Split(mymath, `","`)
//for _,v:=range split {
// v=v[1:len(v)-1]
//}
for _,v:=range split {
fmt.Println(v)
}

//fmt.Println(split[0][2:len(split[0])-1])
//response, err := http.Get(split[0][2:len(split[0])-1])
//defer response.Body.Close()
//file, err := os.Create("abc.png")
//defer file.Close()
//for ; ; {
// n, err := response.Body.Read(buf)
// if err==io.EOF {
// fmt.Println(err)
// break
// }
// file.Write(buf[:n])
//}


}


上一篇:aptitude与apt-get详解
下一篇:没有了
网友评论