具有多个数据的GoLang JSON有效负载准备

时间:2019-05-15 09:21:45

标签: json go

我想以以下格式创建JSON有效负载。我想要准备给定格式的代码或模式。

{
    transactiontype: 'DDDDD'
    emailType: 'QQQQQQ'
    template: {
        templateUrl: 'xry.kk'
        templateName: 'chanda'
    }
    date: [
        {
            UserId: 1
            Name: chadnan
        },
        {
            UserId: 2
            Name: kkkkkk
        }
    ]
}

3 个答案:

答案 0 :(得分:1)

希望这会有所帮助:

type Template struct {
TemplateURL string `json:"templateUrl" param:"templateUrl"`
TemplateName string `json:"templateName" param:"templateName"`
}

type Date struct {
UserId string `json:"UserId" param:"UserId"`
Name string `json:"Name" param:"Name"`
}
type NameAny struct {
*Template
TransactionType string `json:"transactiontype" param:"transactiontype"`
EmailType string `json:"emailType" param:"emailType"`
Data []Date `json:"date" param:"date"`
}
Data, _ := json.Marshal(NameAny)
Json(c, string(Data))(w, r)

答案 1 :(得分:1)

您可以使用在线工具将json转换为有效的Go结构:alias redirection behavior to be "redirect to main URL"

给出您的JSON,Go结构为:

type AutoGenerated struct {
    Transactiontype string `json:"transactiontype"`
    EmailType       string `json:"emailType"`
    Template        struct {
        TemplateURL  string `json:"templateUrl"`
        TemplateName string `json:"templateName"`
    } `json:"template"`
    Date []struct {
        UserID int    `json:"UserId"`
        Name   string `json:"Name"`
    } `json:"date"`
}

转换后,使用https://mholt.github.io/json-to-go/(将结构转换为JSON)和json.Marshal(将JSON转换为结构)

使用您的数据的完整示例:json.Unmarshal

答案 2 :(得分:1)

SELECT * FROM table1
INNER JOIN table2 on table1.col = table2.col

以上给出的结构是用于存储json主体的正确数据结构,您可以使用json解码器将数据完美存储到struct

// Transaction is a struct which stores the transaction details
type Transaction struct {
    TransactionType string   `json:"transaction_type"`
    EmailType       string   `json:"email_type"`
    Template        Template `json:"template"`
    Date            []Date   `json:"date"`
}

//Template is a struct which stores the template details
type Template struct {
    TemplateURL  string `json:"template_url"`
    TemplateName string `json:"template_name"`
}

// Date is a struct which stores the user details
type Date struct {
    UserID int    `json:"user_id"`
    Name   string `json:"name"`
}