По умолчанию он будет закодирован как
{
"Name": "",
"Value": ""
}
Но go написан на ходу, и если вы действительно хотите использовать строчные буквы без тегов, вы можете просто 'fork' encoding/json
package, воссоздать его как свойсобственный пакет и измените поведение в encode.go
(строка 1151 в версии 1.13):
// Record found field and index sequence.
if name != "" || !sf.Anonymous || ft.Kind() != reflect.Struct {
tagged := name != ""
if name == "" {
name = sf.Name <-- here, for example to strings.ToLower(sf.Name)
}
....
Я не рекомендую вам это делать, но это работает:)