首页 > 解决方案 > 我如何解组这个 JSON

问题描述

我有两个具有以下签名的函数:

 1)  func printAWSDataToConsole(edgexcontext *appcontext.Context, params ...interface{}) (bool, interface{}) {

  2)   func (f Conversion) TransformToAWS()

在哪里

func NewConversion() Conversion {
    return Conversion{}
}

起初 TransformToAWS 正在返回

      true, string(msg)

我可以通过做一个简单的来打印 printAWSDataToConsole 中 msg 的值

     fmt.Println(params[0].(string))

现在我更改了 TransformToAWS 以返回一个 json:

    data := YuccaDataStream {
                 Stream : "temperatura2",
                 Sensor : "ec6c613a-66b4-4584-fb37-5f7cac130f7d",
                 Values : []Value {
                           Value {
                           Time:formattedTime,
                           Components: Components{Alfanum :"15.55"},
       }, }, }

     dataAsBytes, err := json.Marshal(data)

     return true, dataAsBytes

在哪里

type YuccaDataStream struct {
    Stream string `json:"stream"`
    Sensor string `json:"sensor"`
    Values []Value `json:"values"`
    }

type Value struct {
    Time string `json:"time"`
    Components `json:"components"`
}

type Components struct {
    Alfanum string `json:"alfanum"`
}

我不知道如何在 printAWSDataToConsole 中解组 json。

标签: jsongo

解决方案


要解组,请使用以下代码:

var dataOut YuccaDataStream
err = json.Unmarshal(dataAsBytes, &dataOut)

而已。就如此容易。


推荐阅读