Golang Json测试

结构体是谷歌搜索API

package main

import (
	"encoding/json"
	"fmt"
	"io/ioutil"
	"log"
)

type Datas struct {
	Kind string `json:"kind"`
	URL  struct {
		Type     string `json:"type"`
		Template string `json:"template"`
	} `json:"url"`
	Queries struct {
		Request []struct {
			Title          string `json:"title"`
			TotalResults   string `json:"totalResults"`
			SearchTerms    string `json:"searchTerms"`
			Count          int    `json:"count"`
			StartIndex     int    `json:"startIndex"`
			InputEncoding  string `json:"inputEncoding"`
			OutputEncoding string `json:"outputEncoding"`
			Safe           string `json:"safe"`
			Cx             string `json:"cx"`
		} `json:"request"`
		NextPage []struct {
			Title          string `json:"title"`
			TotalResults   string `json:"totalResults"`
			SearchTerms    string `json:"searchTerms"`
			Count          int    `json:"count"`
			StartIndex     int    `json:"startIndex"`
			InputEncoding  string `json:"inputEncoding"`
			OutputEncoding string `json:"outputEncoding"`
			Safe           string `json:"safe"`
			Cx             string `json:"cx"`
		} `json:"nextPage"`
	} `json:"queries"`
	Context struct {
		Title string `json:"title"`
	} `json:"context"`
	SearchInformation struct {
		SearchTime            float64 `json:"searchTime"`
		FormattedSearchTime   string  `json:"formattedSearchTime"`
		TotalResults          string  `json:"totalResults"`
		FormattedTotalResults string  `json:"formattedTotalResults"`
	} `json:"searchInformation"`
	Items []struct {
		Kind             string `json:"kind"`
		Title            string `json:"title"`
		HTMLTitle        string `json:"htmlTitle"`
		Link             string `json:"link"`
		DisplayLink      string `json:"displayLink"`
		Snippet          string `json:"snippet"`
		HTMLSnippet      string `json:"htmlSnippet"`
		CacheID          string `json:"cacheId"`
		FormattedURL     string `json:"formattedUrl"`
		HTMLFormattedURL string `json:"htmlFormattedUrl"`
		Pagemap          struct {
			Metatags []struct {
				Author    string `json:"author"`
				Copyright string `json:"copyright"`
			} `json:"metatags"`
		} `json:"pagemap,omitempty"`
	} `json:"items"`
}

func main() {

	buf, err := ioutil.ReadFile("C:/文档/Go/学习/search.json")
	if err != nil {
		log.Println(err)
	}
	//log.Println(string(buf))
	//log.Println()

	//str := string(buf)
	//log.Println(str)
	log.Println()

	var d Datas
	err = json.Unmarshal(buf, &d)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println("look:")
	fmt.Println(d.Items[0].Link)
}

posted @ 2018-12-03 22:09  波士地盘  阅读(221)  评论(0编辑  收藏  举报