Hallo
I heb een probleem met het opvragen van waarden uit een API die JSON-bestanden levert (GET-request).
De URI eindigt op .../product_feeds/products.
Dit lukt wel bij een verwijzing naar nivo 2, bv. een property van een object, maar niet als er dieper in de structuur gezocht moet worden (zie onder)
Een voorbeeld van de structuur van het JSON-bestand (verkorte versie)
=====================================================
HTTP 200 OK
X-XSS-Protection: 1; mode=block
X-Request-Id: *****************************
X-Frame-Options: SAMEORIGIN
X-Runtime: 1.396538
x-content-type-options: nosniff
X-Powered-By: Phusion Passenger 5.0.30
Etag: *****************************
Status: 200 OK
Content-Type: application/json; charset=utf-8
Date: Fri, 04 Nov 2016 18:43:00 GMT
Server: Apache
Cache-Control: max-age=0, private, must-revalidate
Vary: Origin
{
"data": [
{
"product_nr": 6879,
"product_info": {
"description": "2000",
"total_stock": 6,
"year": 2016,
"brand_nr": 22,
"modified_at": "2016-09-28 11:30:01",
"created_at": "2016-07-22 11:30:01"
},
"articles": [
{
"color_nr": 33,
"color": "middelbruin",
"article_info": [
{
"sku_nr": 3727,
"barcode_nr": "4006879045",
"size": "8",
"stock": 1,
},
{
"sku_nr": 3728,
"barcode_nr": "4006879053",
"size": "8½",
"stock": 1,
},
]
}
]
}
],
"meta": {
"page": 1,
"page_size": 25,
"page_count": 1,
"total_count": 1
}
}
===============================================================================
I heb de volgende varianten geprobeerd in een jquery result function:
1)var size=data.data[0].articles[0].article_info[0].size;
console.log(size);
TypeError: data.data[0] is undefined
2)var size=data[0].articles[0].article_info[0].size;
console.log(size);
TypeError: data[0] is undefined
Overigens kan ik wel de lengte uitlezen van de array data met:
var len=data.data.length (output van console.log:0)
De meta-informatie kan wel worden getoond met:
var maxpage=data.meta.page_size;(output in console.log:25)
Wat gaat hier fout? Kan het een probleem zijn dat "data" hier op twee manieren wordet gebruikt, nl. eerst als verwijzing naar het data-object, en daarbinnen ook naar een array "data"? In een ander bestand met een URI eindigend op ../product_feeds/brands levert een verwijzing naar data.brands[0].brand_nr geen probleem op.
Ik hoop dat iemand mijn code kan verbeteren.
bij voorbaat dank.
1.268 views