मुझे यकीन नहीं है कि प्रतिक्रिया जेएसएक्स में नेस्टेड ऑब्जेक्ट डेटा कैसे प्राप्त करें, क्या कोई मेरी मदद कर सकता है?

wine:
{
_id: "5b21ca3eeb7f6fbccd471815",
name: "Margaux",
wineType: { _id: "5b21ca3eeb7f6fbccd471818", name: "Red Wine" },
numberInStock: 5,
vintage: 1982,
volume: 750,
imageURL:
  "www.abc.come",
region: { _id: "2", name: "Bordeaux" },
price: 18000
},

मैं क्षेत्र वस्तु में नाम ढूंढ रहा हूं,

मैं {wine.region.name} का परीक्षण करने की कोशिश करता हूं लेकिन त्रुटि हो रही है।

TypeError: Cannot read property 'name' of undefined
0
Kenny 25 अक्टूबर 2018, 13:29

3 जवाब

सबसे बढ़िया उत्तर

यू को वस्तु को अपरिवर्तनीय के रूप में उपयोग करना है इसलिए let data = {....} या JSON फ़ाइल { "data": {....} ,...} में परिभाषित करें।

let wine={
        _id: "5b21ca3eeb7f6fbccd471815",
        name: "Margaux",
        wineType: { _id: "5b21ca3eeb7f6fbccd471818", name: "Red Wine" },
        numberInStock: 5,
        vintage: 1982,
        volume: 750,
        imageURL:
          "www.abc.come",
        region: { _id: "2", name: "Bordeaux" },
        price: 18000
    }

    let {region:{name}}=wine;
    console.log('name',name);

ओ / पी: बोर्डो

1
Asif vora 25 अक्टूबर 2018, 11:15

जैसा कि आप अटैचमेंट में देख सकते हैं कि आपका JSON मान्य नहीं है और इसे चला रहा है क्योंकि यह अमान्य टोकन की त्रुटि है, इसलिए आप अगले नोड्स पर जाने में असमर्थ हैं। अटैचमेंट यह भी दिखाता है कि इसका सही तरीके से उपयोग कैसे करें और जेसन में विशिष्ट नोड पर जाएं[1]: https:/ /i.stack.imgur.com/xsVcU.png

1
Muhammad Saqib 25 अक्टूबर 2018, 11:10

जेसन का आपका प्रारूप सही नहीं दिख रहा है कृपया इसे आजमाएं

wine={
    _id: "5b21ca3eeb7f6fbccd471815",
    name: "Margaux",
    wineType: { _id: "5b21ca3eeb7f6fbccd471818", name: "Red Wine" },
    numberInStock: 5,
    vintage: 1982,
    volume: 750,
    imageURL:
      "www.abc.come",
    region: { _id: "2", name: "Bordeaux" },
    price: 18000
}

पहले वाइन में होल ऑब्जेक्ट असाइन करें और फिर {wine.region.name} जैसे एक्सेस करने का प्रयास करें यह काम करेगा। यह जेसन के गलत प्रारूप की तरह लगता है।

1
Mukesh Burnwal Mike 25 अक्टूबर 2018, 10:56