Avatar ·

json.Unmarshal बनाम json.NewDecoder.Decode: Go में JSON पार्स करने के लिए क्या चुनें?

सभी को नमस्ते! मैंने अभी-अभी Go सीखना शुरू किया है और JSON को पार्स करने के लिए `json.Unmarshal` और `json.NewDecoder.Decode` के बीच चयन करने की समस्या का सामना किया। दोनों विधियाँ एक ही काम करती हैं — JSON को struct में डिकोड करना, लेकिन दस्तावेज़ में लिखा है कि कुछ बारीकियाँ हैं। यहाँ एक उदाहरण है जो मैंने लिखा: ```go package main import ( "encoding/json" "fmt" "strings" ) type User struct { Name string `json:"name"` Age int `json:"age"` } func main() { jsonStr := `{"name": "Alice", "age": 30}` // विकल्प 1 var user1 User err := json.Unmarshal([]byte(jsonStr), &user1) if err != nil { fmt.Println("Unmarshal error:", err) } fmt.Println(user1) // विकल्प 2 var user2 User decoder := json.NewDecoder(strings.NewReader(jsonStr)) err = decoder.Decode(&user2) if err != nil { fmt.Println("Decoder error:", err) } fmt.Println(user2) } ``` दोनों विकल्प समान रूप से काम करते हैं। लेकिन मैंने पढ़ा कि `NewD