İç İçe Json Nesne Kullanımı

  1. Bad Code
    2
    2474
    14.11.2018 10:20:00

    Json yapısını kullanırken iç içe yapılarda dataya erişemşyorum. Kullandığım json datası

    var jsondata="{"id":"1","type":"donut","name":"Cake","ppu":2.55,"batters":{"batter":[{"id":"11","type":"Regular"},{"id":"12","type":"Chocolate"},{"id":"13","type":"Blueberry"},{"id":"14","type":"Devil's Food"}]},"topping":[{"id":"51","type":"None"},{"id":"52","type":"Glazed"},{"id":"53","type":"Sugar"},{"id":"54","type":"Powdered Sugar"},{"id":"55","type":"Chocolate with Sprinkles"},{"id":"56","type":"Chocolate"},{"id":"67","type":"Maple"}]}"  
    
    json 2 yıl önce 2035 Görüntüleme

( 1 ) Cevap

  1. ali
    2
    ali
    6418
    14.11.2018 10:40:00

    Öncelikle İç içe (Nested) Json nesneyi okumak için deserilaze yapmamız gerekiyor.

    var mydata=JSON.parse(jsondata );
    ----Çıktı----
          mydata=  {
        "id": "1",
        "type": "donut",
        "name": "Cake",
        "ppu": 2.55,
        "batters":
            {
                "batter":
                    [
                        { "id": "11", "type": "Regular" },
                        { "id": "12", "type": "Chocolate" },
                        { "id": "13", "type": "Blueberry" },
                        { "id": "14", "type": "Devil's Food" }
                    ]
            },
        "topping":
            [
                { "id": "51", "type": "None" },
                { "id": "52", "type": "Glazed" },
                { "id": "53", "type": "Sugar" },
                { "id": "54", "type": "Powdered Sugar" },
                { "id": "55", "type": "Chocolate with Sprinkles" },
                { "id": "56", "type": "Chocolate" },
                { "id": "67", "type": "Maple" }
            ]
    }
    

    Javascript objemizi elde ettik. Şimdi obje iç içe yapıdan oluşmuş durumda. her köşeli parantezlerden sora dizi olduğunu göserir.

    "name": "Cake", erişmek için mydata.name

    Datanın batters propertysinin batter dizisindeki 0. elementin type propertysi

    { "id": "11", "type": "Regular" }, erişmek için mydata.batters.batter[0].type

    Datanın batters propertysinin batter dizisindeki 2. elementin id propertysi

    { "id": "13", "type": "Blueberry" }, erişmek için a.batters.batter[2].id

    [] ifadesi olduğu zaman dizi olduğu anlaşılır ve dizi indexi seçilerek . ile propertysi bulunur.

Cevabınız