Календарь Просмотр в Android

В пакете encoding/json нет тега, который устанавливает поле «required». Вам придется либо написать свой собственный метод MarshalJSON(), либо выполнить проверку почты для отсутствующих полей.

Чтобы проверить отсутствие пропущенных полей, вам нужно будет использовать указатели, чтобы различать отсутствующие / нулевые и нулевые значения:

type JsonStruct struct {
    String *string
    Number *float64
}

Полный рабочий пример:

package main

import (
    "fmt"
    "encoding/json"
)

type JsonStruct struct {
    String *string
    Number *float64
}

var rawJson = []byte(`{
    "string":"We do not provide a number"
}`)


func main() {
    var s *JsonStruct
    err := json.Unmarshal(rawJson, &s)
    if err != nil {
        panic(err)
    }

    if s.String == nil {
        panic("String is missing or null!")
    }

    if s.Number == nil {
        panic("Number is missing or null!")
    }

    fmt.Printf("String: %s  Number: %f\n", *s.String, *s.Number)
}

Игровая площадка

-10
задан Shrirambaabu 22 November 2017 в 12:52
поделиться