Структура JSON to Go - PullRequest
       36

Структура JSON to Go

0 голосов
/ 29 апреля 2019

У меня есть JSON, как

{
    "company_id": "Sahil",
    "company_name": "Sahil",
    "ats_operators": ["123"],
    "ids": [
        {
            "duns_id": "1234"
        }
        ],
        "company_symbol": "1234"
}

Я хотел преобразовать вышеуказанный JSON в структуру Go.

У меня есть один способ сделать это:

type AutoGenerated struct {
    CompanyID    string   `json:"company_id"`
    CompanyName  string   `json:"company_name"`
    AtsOperators []string `json:"ats_operators"`
    Ids          []struct {
        DubnsID string `json:"dubns_id"`
    } `json:"ids"`
    CompanySymbol string `json:"company_symbol"`
}

Но я хотел использовать Go-Map вместо вложенной структуры.

Я попытался использовать приведенный ниже код, но он не может разобрать вышеуказанный JSON.

type Test struct {
    CompanyID     string              `json:"company_id"`
    CompanyName   string              `json:"company_name"`
    CompanySymbol string              `json:"company_symbol"`
    IDs           map[string][]string `json:"ids"`
    AtsOperators  []string            `json:"ats_operators"`
}

Пожалуйста, помогите и дайте мне знать, что не так с вышеуказанной структурой Go?

Ответы [ 2 ]

1 голос
/ 29 апреля 2019

Возможно, вам придется использовать такую ​​структуру:

type AutoGenerated struct {
    CompanyID     string                   `json:"company_id"`
    CompanyName   string                   `json:"company_name"`
    AtsOperators  []string                 `json:"ats_operators"`
    Ids           []map[string]interface{} `json:"ids"`
    CompanySymbol string                   `json:"company_symbol"`
}
1 голос
/ 29 апреля 2019

Сделайте что-то подобное и попробуйте. Если вы извлекаете данные из mongodb, то сохраните bson: "", иначе только теги json в порядке.

type DubnsID struct {
  DubnsId string `bson:"dubns_id" json:"dubns_id"`
}

type AutoGenerated struct {
 CompanyID     string    `bson:"company_id" json:"company_id"`
 CompanyName   string    `bson:"company_name" json:"company_name"`
 AtsOperators  []string  `bson:"ats_operators" json:"ats_operators"`
 Ids           map[string][]DubnsID `bson:"ids" json:"ids"`
 CompanySymbol string    `bson:"company_symbol" json:"company_symbol"`
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...