X7ROOT File Manager
Current Path:
/opt/golang/1.17.2/src/encoding/json
opt
/
golang
/
1.17.2
/
src
/
encoding
/
json
/
📁
..
📄
bench_test.go
(8.57 KB)
📄
decode.go
(35.29 KB)
📄
decode_test.go
(61.95 KB)
📄
encode.go
(38.39 KB)
📄
encode_test.go
(28.27 KB)
📄
example_marshaling_test.go
(1.23 KB)
📄
example_test.go
(6.06 KB)
📄
example_text_marshaling_test.go
(1.23 KB)
📄
fold.go
(3.39 KB)
📄
fold_test.go
(2.89 KB)
📄
fuzz.go
(798 B)
📄
indent.go
(3.4 KB)
📄
number_test.go
(2.2 KB)
📄
scanner.go
(16.03 KB)
📄
scanner_test.go
(6.16 KB)
📄
stream.go
(12.92 KB)
📄
stream_test.go
(11.18 KB)
📄
tables.go
(4.16 KB)
📄
tagkey_test.go
(2.67 KB)
📄
tags.go
(1.05 KB)
📄
tags_test.go
(565 B)
📁
testdata
Editing: example_text_marshaling_test.go
// Copyright 2018 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package json_test import ( "encoding/json" "fmt" "log" "strings" ) type Size int const ( Unrecognized Size = iota Small Large ) func (s *Size) UnmarshalText(text []byte) error { switch strings.ToLower(string(text)) { default: *s = Unrecognized case "small": *s = Small case "large": *s = Large } return nil } func (s Size) MarshalText() ([]byte, error) { var name string switch s { default: name = "unrecognized" case Small: name = "small" case Large: name = "large" } return []byte(name), nil } func Example_textMarshalJSON() { blob := `["small","regular","large","unrecognized","small","normal","small","large"]` var inventory []Size if err := json.Unmarshal([]byte(blob), &inventory); err != nil { log.Fatal(err) } counts := make(map[Size]int) for _, size := range inventory { counts[size] += 1 } fmt.Printf("Inventory Counts:\n* Small: %d\n* Large: %d\n* Unrecognized: %d\n", counts[Small], counts[Large], counts[Unrecognized]) // Output: // Inventory Counts: // * Small: 3 // * Large: 2 // * Unrecognized: 3 }
Upload File
Create Folder