登录
首页 >  Golang >  Go问答

寻找更便捷的方法解析dynamodb属性值

来源:stackoverflow

时间:2024-03-16 08:27:26 185浏览 收藏

DynamoDB属性值解析有时会遇到困难,尤其是当值包含嵌套列表时。传统的JSON解析方法可能无法处理此类值,因为它们缺乏必需的双引号。为了解决此问题,本文介绍了一种简单的方法,通过在解析前将值中的键替换为带双引号的键,从而使JSON解析器能够正确解析属性值。

问题内容

{ L:[{ N: "123"}, { N: "543"} ]}

是否有一种简单的方法来解组此类 dynamodb 属性值


解决方案


键 (l,n) 周围没有双引号,因此您无法使用 json.unmarshal 函数解组它们。您可以尝试以下方法来解组提到的 json 字符串。

package main

import (
    "encoding/json"
    "fmt"
    "strings"
)

type Response struct {
    L []InnerElement `json:"L"`
}

type InnerElement struct {
    N string `json:"N"`
}

func main() {

    st := `{L:[{ N: "123"},{ N: "543"}]}`
    st = strings.Replace(st,"N",`"N"`,2)
    st = strings.Replace(st,"L",`"L"`,1)

    var res Response

    err := json.Unmarshal([]byte(st), &res)

    if err!=nil{
        fmt.Print("error with json unmarshaling")
    }

   //print value
   fmt.Println(res.L)


}

用双引号替换键。

今天关于《寻找更便捷的方法解析dynamodb属性值》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>