"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > गो में डीपली नेस्टेड JSON कुंजी और मानों तक कैसे पहुंचें?

गो में डीपली नेस्टेड JSON कुंजी और मानों तक कैसे पहुंचें?

2024-11-08 को प्रकाशित
ब्राउज़ करें:611

How to Access Deeply Nested JSON Keys and Values in Go?

गो में डीपली नेस्टेड JSON कुंजी और मानों तक पहुंचना

जटिल JSON डेटा संरचनाओं के साथ काम करते समय, डीपली नेस्टेड मानों को पुनः प्राप्त करना चुनौतीपूर्ण हो सकता है अकेले मानक गो इंटरफ़ेस का उपयोग करना। इसे दूर करने के लिए, गो-सिंपलजसन पैकेज (github.com/bitly/go-simplejson) का उपयोग करने पर विचार करें।

यह पैकेज एक सरल सिंटैक्स के माध्यम से JSON डेटा को नेविगेट करने के लिए उपयोग में आसान एपीआई प्रदान करता है। यहां बताया गया है कि आप go-simplejson का उपयोग करके अपने दिए गए JSON में "समय" मानों तक कैसे पहुंच सकते हैं:

package main

import (
    "encoding/json"
    "fmt"
    "github.com/bitly/go-simplejson"
)

func main() {
    msg := `{"args":[{"time":"2013-05-21 16:57:17"}],"name":"send:time"}`
    jsonBytes := []byte(msg)
    js, err := simplejson.NewJson(jsonBytes)
    if err != nil {
        fmt.Println(err)
        return
    }

    // Retrieve "time" values
    timeValue, err := js.Get("args").GetIndex(0).Get("time").String()
    if err != nil {
        fmt.Println(err)
        return
    }

    fmt.Println("Retrieved time:", timeValue)
}

go-simplejson का उपयोग करके, आप नेस्टेड JSON संरचनाओं को आसानी से पार कर सकते हैं और Get, GetIndex, और String जैसी विधियों का उपयोग करके मान पुनर्प्राप्त कर सकते हैं।

जटिल डेटा संरचनाओं के लिए, आप अपनी परिभाषित भी कर सकते हैं JSON डेटा का प्रतिनिधित्व करने के लिए स्वयं की प्रकार की संरचना। उदाहरण के लिए, आप निम्नलिखित संरचना बना सकते हैं:

type TimeInfo struct {
    Time string
}

type DataStruct struct {
    Name string
    Args []TimeInfo
}

इस संरचना में अपने JSON को अनमर्शल करने के लिए, आप निम्नलिखित कोड का उपयोग कर सकते हैं:

var dataStruct DataStruct
err = json.Unmarshal(jsonBytes, &dataStruct)
if err != nil {
    fmt.Println(err)
    return
}

यह दृष्टिकोण आपके JSON डेटा को प्रस्तुत करने का एक अधिक संरचित तरीका प्रदान करता है, जिससे इसके साथ काम करना और रखरखाव करना आसान हो जाता है।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3