Распарсивание string полей в json-е на golang выводится с кавычками. Как их убрать?

Клиент отправляет json такого типа

{"function":"GroupAdd","data":"Имя новой группы"}

Распарсиваю json
type struct_json struct { 
      Function string
      Data     json.RawMessage  
   }

    ... 
   var Struct_json = &struct_json{}
    var b_clientMessage =[]byte(clientMessage)
    err := json.Unmarshal(b_clientMessage, Struct_json ) 
    if err != nil {
       log.Println("error:", err)
    }
    
    switch Struct_json.Function {
    case "GroupAdd":
       GroupAdd(Id,string(Struct_json.Data))
    ...
    func GroupAdd(UserId int, Name string){
    	query := "insert into groups(Name,UserId) values (?,?)"
    	if new_query_exec(query, Name, UserId){ //тут записывается в БД
    		Refresh_Groups()	
    	}
    }


В итоге я хочу, что б в БД добавилась группа- Имя новой группы , а получаю это же значение в кавычках.
Как избавиться от кавычек?
  • Вопрос задан
  • 463 просмотра
Пригласить эксперта
Ответы на вопрос 1
Кавычки выводятся потому что вы у поля Data указали тип json.RawMessage. Этот тип предназначен как раз для отключения парсинга поля, т.е., вывода поля в исходном формате. Если замените json.RawMessage на string, то кавычки исчезнут.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы