HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 02.11.2024, 12:55
chapo
Флудер
Регистрация: 10.10.2016
Сообщений: 9,228
С нами: 5046982

Репутация: 183


По умолчанию

Хай. Есть структура

Код:





Код:
type Item struct {
    Name      string     `json:"name"`
    Author    string     `json:"author"`
    SecretKey string     `json:"secretKey"`
    Model     uint16     `json:"model"`
    Bone      uint8      `json:"bone"`
    Position  [3]float64 `json:"position"`
    Rotation  [3]float64 `json:"rotation"`
    Scale     [3]float64 `json:"scale"`
}


так же есть

Go:





Код:
var items []Item


Сервер отправляет items в JSON формате. Как при отправке ответа удалить/изменить все поля "SecretKey" в срезе?

Код:





Код:
func listRequestHandler(w http.ResponseWriter, r *http.Request) {
    if r.Method != "GET" {
        w.WriteHeader(http.StatusMethodNotAllowed)
        return
    }
    jsonString, err := json.Marshal(items)
    if err != nil {
        w.WriteHeader(http.StatusInternalServerError)
        w.Write([]byte(err.Error()))
        return
    }
    w.WriteHeader(http.StatusOK)
    w.Write([]byte(string(jsonString)))
}
 
Ответить с цитированием

  #2  
Старый 03.11.2024, 15:59
chapo
Флудер
Регистрация: 10.10.2016
Сообщений: 9,228
С нами: 5046982

Репутация: 183


По умолчанию

Решил. Обошелся без удаления

Go:





Код:
userItems := make([]Item, len(items))
copy(userItems, items)
for index := range userItems {
    userItems[index].SecretKey = "*"
}
jsonString, err := json.Marshal(userItems)
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.