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 mainimport (
"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])
//}
}