第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

我們?nèi)绾问褂?Go 編程語言讀取 JSON 文件?

我們?nèi)绾问褂?Go 編程語言讀取 JSON 文件?

Go
白板的微信 2023-06-12 16:16:01
我正在我的 Angular 應(yīng)用程序上進行翻譯項目。我已經(jīng)為此創(chuàng)建了所有不同的密鑰。我現(xiàn)在嘗試使用 Go 編程語言在我的翻譯中添加一些功能,以便快速工作。我嘗試用 Go 編程語言編寫一個函數(shù),以便在命令行上讀取輸入用戶。我需要閱讀這個輸入文件才能知道里面是否缺少密鑰。此輸入用戶必須是 JSON 文件。我對這個函數(shù)有問題,在 處被阻止functions.Check(err),為了調(diào)試我的函數(shù),我用 顯示了不同的變量fmt.Printf(variable to display)。readInput()我在我的主要功能中調(diào)用這個功能。函數(shù)readInput()如下:    // this function is used to read the user's input on the command linefunc readInput() string {    // we create a reader    reader := bufio.NewReader(os.Stdin)    // we read the user's input    answer, err := reader.ReadString('\n')    // we check if any errors have occured while reading    functions.Check(err)    // we trim the "\n" from the answer to only keep the string input by the user    answer = strings.Trim(answer, "\n")    return answer}在我的主要功能中,我調(diào)用readInput()了我創(chuàng)建的特定命令。此命令行可用于更新 JSON 文件并自動添加缺少的密鑰。我的func main是:      func main() {         if os.Args[1] == "update-json-from-json" {    fmt.Printf("please enter the name of the json file that will be used to     update the json file:")     jsonFile := readInput()    fmt.Printf("please enter the ISO code of the locale for which you want to update the json file: ")            // we read the user's input            locale := readInput()            // we launch the script            scripts.AddMissingKeysToJsonFromJson(jsonFile, locale)        }我可以給你我用于此代碼的命令行g(shù)o run mis-t.go update-json-from-json請問我的代碼中缺少什么嗎?
查看完整描述

1 回答

?
開心每一天1111

TA貢獻1836條經(jīng)驗 獲得超13個贊

假設(shè)該文件包含動態(tài)和未知的鍵和值,并且您無法在您的應(yīng)用程序中對它們進行建模。然后你可以這樣做:



func main() {

    if os.Args[1] == "update-json-from-json" {

        ...

        jsonFile := readInput()


        var jsonKeys interface{}

        err := json.Unmarshal(jsonFile, &jsonKeys)

        functions.Check(err)



        ...

    }

}

將內(nèi)容加載到 中empty interface,然后使用 go 反射庫 ( https://golang.org/pkg/reflect/ ) 遍歷字段,找到它們的名稱和值并根據(jù)您的需要更新它們。


另一種方法是 Unmarshal into a map[string]string,但這不能很好地處理嵌套的 JSON,而這可能(但我還沒有測試過)。


查看完整回答
反對 回復(fù) 2023-06-12
  • 1 回答
  • 0 關(guān)注
  • 174 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號