Функция json.Valid
Функция json.Valid проверяет,
является ли переданный байтовый срез валидным JSON-документом.
Она возвращает true, если данные представляют
собой корректный JSON, и false в противном случае.
В качестве единственного параметра функция принимает
байтовый срез с JSON-данными.
Синтаксис
json.Valid(data)
Пример
Давайте проверим, является ли валидным JSON-документ с объектом:
package main
import (
"encoding/json"
"fmt"
)
func main() {
validJSON := []byte(`{"name":"John","age":30}`)
res := json.Valid(validJSON)
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Давайте проверим, является ли валидным JSON-документ с массивом:
package main
import (
"encoding/json"
"fmt"
)
func main() {
validJSON := []byte(`["a","b","c"]`)
res := json.Valid(validJSON)
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Давайте проверим, является ли валидным JSON-документ с простыми значениями:
package main
import (
"encoding/json"
"fmt"
)
func main() {
validJSON := []byte(`"Hello, World!"`)
res := json.Valid(validJSON)
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Давайте проверим, является ли валидным JSON-документ с числом:
package main
import (
"encoding/json"
"fmt"
)
func main() {
validJSON := []byte(`12345`)
res := json.Valid(validJSON)
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Давайте проверим, является ли валидным JSON-документ с некорректным синтаксисом:
package main
import (
"encoding/json"
"fmt"
)
func main() {
invalidJSON := []byte(`{"name":"John","age":30,}`)
res := json.Valid(invalidJSON)
fmt.Println(res)
}
Результат выполнения кода:
false
Пример
Давайте проверим, является ли валидным JSON-документ с пропущенной кавычкой:
package main
import (
"encoding/json"
"fmt"
)
func main() {
invalidJSON := []byte(`{"name":John,"age":30}`)
res := json.Valid(invalidJSON)
fmt.Println(res)
}
Результат выполнения кода:
false
Пример
Давайте проверим, является ли валидным JSON-документ с пустой строкой:
package main
import (
"encoding/json"
"fmt"
)
func main() {
emptyJSON := []byte(``)
res := json.Valid(emptyJSON)
fmt.Println(res)
}
Результат выполнения кода:
false
Смотрите также
-
функцию
json.Marshal,
которая преобразует структуру в JSON-данные -
функцию
json.Unmarshal,
которая преобразует JSON-данные в структуру -
функцию
json.MarshalIndent,
которая преобразует структуру в JSON с отступами -
функцию
json.Compact,
которая сжимает JSON-данные