1

以下の形式のデータを保存したい

{"_ibj_id":"1","url_id":'1',"url":{"0":"http://0.com","1":"http:://1.com"}}

私のコードを見て、

type db_list struct {
    Url_id int
    Url    map[int]string
}
func list(table *mgo.Collection) {

    var doc *goquery.Document

    var e error

    for i := 1628644; i > 1628643; i-- {

        if doc, e = goquery.NewDocument("http://www.120ask.com/list/all/" + strconv.Itoa(i)); e != nil {

            panic(e.Error())

        }

        var save_list db_list

        save_list.Url_id = i

        save_list.Url = make(map[int]string)

        //fmt.Println("%s", doc.Text())

        doc.Find(".q-quename").Each(func(n int, s *goquery.Selection) {

            href, isTrue := s.Attr("href")

            if isTrue {

                save_list.Url[n] = href

                fmt.Println("%D : %s", n, save_list.Url[n])

            }

        })

        fmt.Println("%D", len(save_list.Url))

        //save database

        table.Insert(save_list)

    }

}

データベースは最終的に保存されます別紙の写真をご覧ください。データのフォーマットを保存することです。プロパティ 1 の URL 値を保存します。ここに画像の説明を入力

4

2 に答える 2

0

あなたが何をしようとしているのか正確にはわかりません。私が気づいたことの 1 つは、目的の形式では Url のキーが文字列値であるのに対し、Go では整数であるということです。のタイプをUrlto に変更してみmap[string]stringて、問題が解決するかどうかを確認してください。

于 2014-02-17T01:03:48.990 に答える