mirror of
				https://github.com/golang/go.git
				synced 2025-10-31 00:30:57 +00:00 
			
		
		
		
	 d8264de868
			
		
	
	
		d8264de868
		
	
	
	
	
		
			
			The tree is inconsistent about single l vs double l in those words in documentation, test messages, and one error value text. $ git grep -E '[Mm]arshall(|s|er|ers|ed|ing)' | wc -l 42 $ git grep -E '[Mm]arshal(|s|er|ers|ed|ing)' | wc -l 1694 Make it consistently a single l, per earlier decisions. This means contributors won't be confused by misleading precedence, and it helps consistency. Change the spelling in one error value text in newRawAttributes of crypto/x509 package to be consistent. This change was generated with: perl -i -npe 's,([Mm]arshal)l(|s|er|ers|ed|ing),$1$2,' $(git grep -l -E '[Mm]arshall' | grep -v AUTHORS | grep -v CONTRIBUTORS) Updates #12431. Follows https://golang.org/cl/14150. Change-Id: I85d28a2d7692862ccb02d6a09f5d18538b6049a2 Reviewed-on: https://go-review.googlesource.com/33017 Run-TryBot: Minux Ma <minux@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
		
			
				
	
	
		
			73 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2012 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 main
 | |
| 
 | |
| import (
 | |
| 	"encoding/json"
 | |
| 	"fmt"
 | |
| 	"log"
 | |
| 	"reflect"
 | |
| )
 | |
| 
 | |
| func Decode() {
 | |
| 	b := []byte(`{"Name":"Wednesday","Age":6,"Parents":["Gomez","Morticia"]}`)
 | |
| 
 | |
| 	var f interface{}
 | |
| 	err := json.Unmarshal(b, &f)
 | |
| 
 | |
| 	// STOP OMIT
 | |
| 
 | |
| 	if err != nil {
 | |
| 		panic(err)
 | |
| 	}
 | |
| 
 | |
| 	expected := map[string]interface{}{
 | |
| 		"Name": "Wednesday",
 | |
| 		"Age":  float64(6),
 | |
| 		"Parents": []interface{}{
 | |
| 			"Gomez",
 | |
| 			"Morticia",
 | |
| 		},
 | |
| 	}
 | |
| 
 | |
| 	if !reflect.DeepEqual(f, expected) {
 | |
| 		log.Panicf("Error unmarshaling %q, expected %q, got %q", b, expected, f)
 | |
| 	}
 | |
| 
 | |
| 	f = map[string]interface{}{
 | |
| 		"Name": "Wednesday",
 | |
| 		"Age":  6,
 | |
| 		"Parents": []interface{}{
 | |
| 			"Gomez",
 | |
| 			"Morticia",
 | |
| 		},
 | |
| 	}
 | |
| 
 | |
| 	// STOP OMIT
 | |
| 
 | |
| 	m := f.(map[string]interface{})
 | |
| 
 | |
| 	for k, v := range m {
 | |
| 		switch vv := v.(type) {
 | |
| 		case string:
 | |
| 			fmt.Println(k, "is string", vv)
 | |
| 		case int:
 | |
| 			fmt.Println(k, "is int", vv)
 | |
| 		case []interface{}:
 | |
| 			fmt.Println(k, "is an array:")
 | |
| 			for i, u := range vv {
 | |
| 				fmt.Println(i, u)
 | |
| 			}
 | |
| 		default:
 | |
| 			fmt.Println(k, "is of a type I don't know how to handle")
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	// STOP OMIT
 | |
| }
 | |
| 
 | |
| func main() {
 | |
| 	Decode()
 | |
| }
 |