I hereby claim:
- I am suicidejack on github.
- I am pricelessfox (https://keybase.io/pricelessfox) on keybase.
- I have a public key ASAct477De1Qpst4g1BotrdOrOHXg3P5ZyLP57mCyB3BkQo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
// lines 559-583 in decode.go in encoding/json package | |
var f *field | |
fields := cachedTypeFields(v.Type()) | |
for i := range fields { | |
ff := &fields[i] | |
if bytes.Equal(ff.nameBytes, key) { | |
f = ff | |
break | |
} | |
if f == nil && ff.equalFold(ff.nameBytes, key) { |
Example 1 (works as expected with both fields included on struct): | |
JSON: {"_eventId": "cased"} | |
_eventid: | |
_eventId: cased | |
Example 2 (works as expected with both fields included on struct): | |
JSON: {"_eventid": "no case"} | |
_eventid: no case | |
_eventId: |
package main | |
import ( | |
"encoding/json" | |
"fmt" | |
) | |
type eventWithBoth struct { | |
EventId string `json:"_eventId"` | |
Eventid string `json:"_eventid"` |
{ | |
"_eventId": "ad23ef1-156a-03b7-e1826fcd", | |
"_eventid": "1234567890" | |
} |
{ | |
"_eventId": "ad23ef1-156a-03b7-e1826fcd" | |
} |
map1: map[] | |
map2: map[] | |
mapNil: map[] | |
Length of map1: 0 | |
Length of map2: 0 | |
Length of mapNil: 0 | |
1) map1 == map2: false | |
2) map2 == mapNil: true | |
3) map1 == mapNil || len(map1) == len(mapNil): true |
func main() { | |
map1 := make(map[string]string) | |
var map2 map[string]string | |
json.Unmarshal([]byte("{}"), map2) | |
var mapNil map[string]string | |
mapNil = nil | |
fmt.Println("map1:", map1) | |
fmt.Println("map2:", map2) | |
fmt.Println("mapNil:", mapNil) |
map1: map[] | |
map2: map[] | |
mapNil: map[] | |
Length of map1: 0 | |
Length of map2: 0 | |
Length of mapNil: 0 | |
1) map1 == map2: true | |
2) map1 == mapNil: false | |
3) map1 == mapNil || len(map1) == len(mapNil): true |
func main() { | |
map1 := make(map[string]string) | |
map2 := make(map[string]string) | |
var mapNil map[string]string | |
mapNil = nil | |
fmt.Println("map1:", map1) | |
fmt.Println("map2:", map2) | |
fmt.Println("mapNil:", mapNil) | |