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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在 Go 中解碼 base64 編碼的 JSON

如何在 Go 中解碼 base64 編碼的 JSON

白衣非少年 2022-06-27 11:19:30
我有一個(gè)類型的地圖map[string][]byte,現(xiàn)在的值[]byte是 base64 編碼的。[]byte我想進(jìn)一步使用其中的 JSON 編碼?,F(xiàn)在我這樣做是為了解碼 base64[]byte數(shù)組。假設(shè)我secretInfo看起來像這樣apiVersion: v1kind: Secretmetadata:  namespace: kube-system  name: my-credentialsdata:  secret_account.json: SGVsbG8sIHBsYXlncm91bmQ= // My base64 encoded data(not real/Actual data)bytes, _ := b64.StdEncoding.DecodeString(string(secretInfo.Data["secret_account.json"])) // Converting datavar privateKeyJSON map[string]interface{}err := json.Unmarshal(bytes, &privateKeyJSON)if err != nil {        r.Logger.Infof("Failed to parse secret %v", err)    }現(xiàn)在,我將 JSON 的值作為字符串傳遞給其他 JSON。secretInfo.StringData["DecodedPrivateKeyJson"] = string(bytes)它給我一個(gè)錯(cuò)誤說,StringData.DecodedPrivateKeyJson 中的預(yù)期 JSON。我錯(cuò)過了什么?
查看完整描述

2 回答

?
慕蓋茨4494581

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊

我認(rèn)為問題出在這一行:


secretInfo.StringData["DecodedPrivateKeyJson"] = string(bytes)

大概應(yīng)該是這樣的:


secretInfo.StringData["DecodedPrivateKeyJson"] = string(privateKeyJSON)

或者更好的事件:


marshaledPrivateKeyJSON, _ := json.Marshal(privateKeyJSON)

secretInfo.StringData["DecodedPrivateKeyJson"] = string(marshaledPrivateKeyJSON)


查看完整回答
反對(duì) 回復(fù) 2022-06-27
?
慕斯709654

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊

您上面的代碼中似乎存在一些問題

  1. 您忽略了解碼錯(cuò)誤

  2. 您尚未提供有關(guān)如何解析秘密信息的代碼

添加少量案例的示例代碼,希望對(duì)您有所幫助:)

包主

import (

    b64 "encoding/base64"

    "encoding/json"

    "fmt"

)


func main() {

    encodedJSONTestData := []string{

        "ewoiZmlyc3RuYW1lIjoiSmhvbiIsCiJsYXN0bmFtZSI6ICJEb2UiCn0=",

        "",

        "!@#$%rtgfdjkmyhm",

    }


    for i, encodedJSON := range encodedJSONTestData {

        fmt.Println("Case", i)

        bytes, err := b64.StdEncoding.DecodeString(encodedJSON) // Converting data

        

        if err!=nil{

            fmt.Println("Failed to Decode secret", err)

            continue

        }

        

        var privateKeyJSON map[string]interface{}

        err = json.Unmarshal(bytes, &privateKeyJSON)

        if err != nil {

            fmt.Println("Failed to parse secret", err)

            continue

        }


        fmt.Println("Success", privateKeyJSON)

    }

}


查看完整回答
反對(duì) 回復(fù) 2022-06-27
  • 2 回答
  • 0 關(guān)注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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