亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang:如何解析同時獲得特征和數據的json?

Golang:如何解析同時獲得特征和數據的json?

Go
慕森王 2021-09-13 15:07:13
我得到了一個帶有 {{"word name":"word meaning"},{"word name":"word meaning"},...} 的 dic 數據,我想解析為單詞的映射。我嘗試使用 interface{} 編寫代碼,但我無法想象該怎么做。謝謝閱讀。
查看完整描述

3 回答

?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

例如:


package main


import (

    "encoding/json"

    "fmt"

)


var jsonText = []byte(`[

    {"Name": "Cat", "Meaning": "A Cat"},

    {"Name": "Dog", "Meaning": "A Dog"}

]`)


type Word struct {

    Name, Meaning string

}


func main() {

    var words []Word

    dict := make(map[string]string)

    if err := json.Unmarshal(jsonText, &words); err != nil {

        fmt.Println("error:", err)

    }

    for _, w := range words {

        dict[w.Name] = w.Meaning

    }

    fmt.Printf("%v", dict)

}

產生:


地圖[貓:一只貓狗:一只狗]


查看完整回答
反對 回復 2021-09-13
?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

您的 JSON 應如下所示


{

    "word 1": "meaning 1",

    "word 2": "meaning 2"

}

為了實現這一點,您可以使用類似的東西


func fixJson(s string) string {

    s = strings.Replace(s, "{", "", -1)

    s = strings.Replace(s, "}", "", -1)

    return "{" + s + "}"

}

完整代碼


package main


import (

    "encoding/json"

    "strings"

    "fmt"

    "log"

)


func fixJson(s string) string {

    s = strings.Replace(s, "{", "", -1)

    s = strings.Replace(s, "}", "", -1)

    return "{" + s + "}"

}


func main() {


    var words map[string]string


    var text = `{

        {"word 1": "meaning 1"},

        {"word 2": "meaning 2"}

    }`


    var jsonText = []byte(fixJson(text))


    err := json.Unmarshal(jsonText, &words)


    if err != nil {

        log.Fatal(err)

    }


    fmt.Println(words)

}


查看完整回答
反對 回復 2021-09-13
  • 3 回答
  • 0 關注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號