5
में मार्शल और UnMarshall JSON सामग्री मैं एक नमूना json फ़ाइल जो इसGoLang
{
"method":"brute_force",
"bc":"select * from blah;",
"gc":[
"select sum(year) from blah;",
"select count(*) from table;"
]
}
मैं एक जाना प्रोग्राम है जो इस फ़ाइल को पढ़ने के लिए और json सामग्री के काम कर सकते हैं लिखने के लिए कोशिश कर रहा हूँ की तरह संरचित है की है।
package main
import (
"fmt"
"encoding/json"
"io/ioutil"
)
type Response2 struct {
method string
bc string
gc []string
}
func main() {
file,_ := ioutil.ReadFile("config.json")
fmt.Printf("%s",string(file))
res := &Response2{}
json.Unmarshal([]byte(string(file)), &res)
fmt.Println(res)
fmt.Println(res.method)
fmt.Println(res.gc)
}
res.method और res.gc कुछ भी प्रिंट न करें। मुझे क्या पता चल रहा है पर कोई जानकारी नहीं है।
के बीच एक मैच निर्दिष्ट करने के लिए जेसन टैग का उपयोग कर सकते हैं। मैं इससे पहले जानता हूँ। लेकिन यह सिर्फ अजीब बात है कि, जाओ कंपाइलर इस तरह की गलती चुपचाप से गुजरने देता है। – Rahul
@Rahul संकलन त्रुटि नहीं है। वाक्यविन्यास सही है। एक अर्थपूर्ण एक है और संकलक इसके बारे में ज्यादा कुछ नहीं कर सकता है। (पीएस। कृपया उत्तर स्वीकार करें :)) – fabrizioM
एक जाने के रूप में यह आश्चर्यजनक रूप से सहायक था। मैंने वेरिएबल नामों को लोअरकेस जेसन से मेल किया। कोई त्रुटि नहीं, लेकिन unmarshal/decode में कोई मान नहीं है। इसे अपरकेसिंग ने इसे ठीक किया! :) –