gpt4 book ai didi

google-app-engine - 解码 datastore.ByteString go

转载 作者:数据小太阳 更新时间:2023-10-29 03:16:53 26 4
gpt4 key购买 nike

您好,我正在尝试解码包含 ByteString 字段的数据存储实体。

但是我遇到了解码错误,我想不出解码它的方法我应该创建自己的 PropertyLoadSaver ??

json: cannot unmarshal string into Go value of type 



datastore.ByteString
package main

import (
"encoding/json"
"fmt"
"google.golang.org/appengine/datastore"
)

type User struct {
SubscriptionToken datastore.ByteString
}

func main() {
u := new(User)
str := "{\"SubscriptionToken\":\"YWR66969hjgkgkgo\"}"
err := json.Unmarshal([]byte(str), &u)
if err != nil {
fmt.Println(err)

}
fmt.Println(u)
}

最佳答案

你需要在这里使用一些中间类型。 json 只是有一个字符串,如果不执行一些自定义解码实现,就不能直接将它解码为 ByteString。就我个人而言,我只会使用类似的东西;

type jsonUser struct {
SubscriptionToken string
}

type User struct {
SubscriptionToken datastore.ByteString
}

然后提供转换方法;

func NewUser(u jsonUser) *User {
return &User{SubscriptionToken: StringToByteString(u.SubscriptionToken)}
}

因此,解码为 jsonUser 类型,然后将其转换为 User

关于google-app-engine - 解码 datastore.ByteString go,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30106494/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com