Я реализую 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.