Сервер получает строку json от клиента:
{
"progectName": "fgrr",
"progectDesc": "rgd",
"progectType": [
"1",
"2"
],
"adrFullPath": "w3rw3r",
"adrInParam": "r3wr",
"adrOutParam": "fsefse",
"domains": [
{
"key": 1,
"value": "sefsef"
}
]
}
далее строка должна переводится в структуру:
type ProgectData struct {
ProgectName string `json: "progectName"`
ProgectDesc string `json: "progectDesc"`
ProgectType []string `json: "progectType"`
AdrFullPath string `json: "adrFullPath"`
AdrInParam string `json: "adrInParam"`
AdrOutParam string `json: "adrOutParam"`
Domains DomainsData `json: "domains"`
}
type DomainsData struct {
Key int `json: "key"`
Value string `json: "value"`
}
func Dsd(d string) ProgectData {
text := []byte(d)
var s ProgectData
err := json.Unmarshal(text, &s)
if err != nil {
CheckErr(err)
}
return s
}
Данный код выдаёт ошибку:
invalid character 'e' in literal null (expecting 'u')
Нашел информацию, что данная ошибка возникает при неправильном сочетании структуры и json. Но не могу найти косяк.
P.s. Всем большое спасибо.
DomainsData действительно надо перевести в массив. Т.е.
Domains []DomainsData `json: "domains"`
Причина по которой это не работало была в компиляторе. После переустановки всё нормально заработало ( т.е. сначала проверил на другом компе и всё ок).