मैं एक स्ट्रक्चर के एन्कोडिंग प्रारूप को कस्टमाइज़ करना चाहता हूं लेकिन त्रुटि मिली: जेसन: मार्शल जेसन को टाइप करने के लिए त्रुटि मुख्य। इंफो: अवैध अक्षर 'ओ' शाब्दिक झूठी ('ए' की उम्मीद) मेरे कोड में क्या गलत है?गो में JSON एन्कोडिंग आउटपुट को कैसे अनुकूलित करें?
package main
import (
"bytes"
"encoding/json"
"fmt"
"log"
)
type Info struct {
name string
flag bool
}
func (i Info) MarshalJSON() ([]byte, error) {
var b bytes.Buffer
b.Write([]byte(i.name))
if i.flag {
b.Write([]byte(`"true"`))
} else {
b.Write([]byte(`"false"`))
}
return b.Bytes(), nil
}
func main() {
a := []Info{
{"foo", true},
{"bar", false},
}
out, err := json.Marshal(a)
if err != nil {
log.Fatal(err)
}
fmt.Printf(string(out))
}
ओह, मैंने सोचा है कि मैं मार्शल को जो कुछ भी चाहता हूं वह अवैध जेएसओएन पाठ – Meng
@Meng जिसे JSON मार्शलिंग कहा जाता है, जिसे _any_ बाइनरी/टेक्स्ट सामग्री उत्पन्न कहा जाता है। – icza