我與Twitter的API的工作,試圖讓JSON數據從基本JSON>結構問題(使用 '去')
http://search.twitter.com/trends/current.json
它看起來像:
{"as_of":1268069036,"trends":{"2010-03-08 17:23:56":[{"name":"Happy Women's Day","query":"\"Happy Women's Day\" OR \"Women's Day\""},{"name":"#MusicMonday","query":"#MusicMonday"},{"name":"#MM","query":"#MM"},{"name":"Oscars","query":"Oscars OR #oscars"},{"name":"#nooffense","query":"#nooffense"},{"name":"Hurt Locker","query":"\"Hurt Locker\""},{"name":"Justin Bieber","query":"\"Justin Bieber\""},{"name":"Cmon","query":"Cmon"},{"name":"My World 2","query":"\"My World 2\""},{"name":"Sandra Bullock","query":"\"Sandra Bullock\""}]}}
我的結構看像:
type trend struct {
name string
query string
}
type trends struct {
id string
arr_of_trends []trend
}
type Trending struct {
as_of string
trends_obj trends
}
然後我解析JSON到Trending
類型的變量。我對JSON非常陌生,所以我主要關心的是確保我已經正確設置了數據結構來保存返回的json數據。
我在'去'寫這個項目給學校。 (這不是特定任務的一部分,只是我正在演示該語言的演示文稿)
更新:根據PeterSO的評論,我正在使用正則表達式路由。使用:
Cur_Trends := new(Current)
/* unmarshal the JSON into our structures */
//find proper json time-name
aoUnixTime, _, _ := os.Time()
// insert code to find and convert as_of Unix time to aoUnixTime
aoName := time.SecondsToUTC(aoUnixTime).Format(`"2006-01-02"`)
fmt.Printf("%s\n", aoName)
regexp_pattern := "/" + aoName + "/"
regex, _ := regexp.Compile(regexp_pattern);
cleaned_json := regex.ReplaceAllString(string(body2), "ntrends")
os.Stdout.WriteString(cleaned_json)
不顯示任何更改。我指定的正則表達式錯了嗎?看起來像'Go'一次只允許一個正則表達式...
更新: 現在可以將日期/時間更改爲「ntrends」,但「解組」不起作用。我能得到的一切使用json.Decode移動到界面,但是通過它不能重複......
我想我的新問題是,如何遍歷:使用
map[as_of:1.268176902e+09 trends:map[ntrends:[map[name:#nowplaying query:#nowplaying] map[name:#imtiredofseeing query:#imtiredofseeing] map[name:#iWillNever query:#iWillNever] map[name:#inmyfamily query:#inmyfamily] map[name:#raiseyourhandif query:#raiseyourhandif] map[name:#ripbig query:#ripbig] map[name:QVC query:QVC] map[name:#nooffense query:#nooffense] map[name:#RIPLaylaGrace query:#RIPLaylaGrace] map[name:Justin Bieber query:"Justin Bieber"]]]]
「爲...範圍「給我奇怪的東西...
謝謝彼得。 FWIW我沒有對任何代碼進行評分,實際上我沒有編寫任何代碼,只是試圖展示該語言的功能。這是一個我真正喜歡的「編程語言理論」課程。我們現在覆蓋軌道... – danwoods 2010-03-09 18:45:58
請參閱已編輯的OP ... – danwoods 2010-03-09 21:50:04