Как удалить имя поля верхнего уровня из выходного объекта json, но сохранить его атрибуты в golang - PullRequest
0 голосов
/ 05 июля 2019

Я реализую go API и получаю вывод в виде объекта json. Я получаю вывод, как показано ниже:

{
    "entityId": "5f1",
    "entries": [
        {
            "Fruit": {
                "name": "1cd9",
                "location": "5f1",
                "ID": "7b9",
                "creationDate": "2019-06-26T18:27:10",
                "lastUpdatedDate": "2019-06-26T18:27:28",
                "startDate": "2019-06-26T08:00:00",
                "endDate": "2019-06-26T08:00:00",
                "entryType": 1
            }
        },
        {
           "Fruit": {
                "name": "1c9",
                "location": "51",
                "ID": "79",
                "creationDate": "2019-06-26T18:27:10",
                "lastUpdatedDate": "2019-06-26T18:27:28",
                "startDate": "2019-06-26T08:00:00",
                "endDate": "2019-06-26T08:00:00",
                "entryType": 1
            },
        }]
}

Но я хочу вывод, как показано ниже:

{
    "entityId": "5f1",
    "entries": [
        {
                "name": "1cd9",
                "location": "5f1",
                "ID": "7b9",
                "creationDate": "2019-06-26T18:27:10",
                "lastUpdatedDate": "2019-06-26T18:27:28",
                "startDate": "2019-06-26T08:00:00",
                "endDate": "2019-06-26T08:00:00",
                "entryType": 1

        },
        {

                "name": "1c9",
                "location": "51",
                "ID": "79",
                "creationDate": "2019-06-26T18:27:10",
                "lastUpdatedDate": "2019-06-26T18:27:28",
                "startDate": "2019-06-26T08:00:00",
                "endDate": "2019-06-26T08:00:00",
                "entryType": 1
          }]
}

Моя МОДЕЛЬ ДАННЫХ в файле proto3:

message Entry{
  oneof Type {
   Fruit fruit = 1;
   Animal animals = 2;
   Bird birds = 3;

 }
}  

Я попытался использовать один из типов в прото и использовал вложенный обмен сообщениями в бэкэнд-файле go для заполнения модели. Mysql - моя база данных.

var allmt  pb.TypesResponse
for i := 0; i < len(dbEntries); i++ {
mt := &pb.TypesResponse{
            Entries: []*pb.Entry{{
                Type: &pb.Entry_Fruit{
                    dbEntries[i],
                },
            },
            },
        }
   allmt.Entries = append(allmt.Entries, mt.Entries[0])
}

Пожалуйста, помогите мне в достижении плоского объекта JSON.

...