2017-03-03 6 views
3

meine Frage ist einfach: Wie kann ich ein Array innerhalb des Objekts mit Datenträgern lesen?DataTables lesen Array innerhalb Objekt

Objekt

Ich möchte das Array "Daten" lesen:

{ 
    "success": true, 
    "data": [ 
    { 
     "id": "4", 
     "tienda_id": "5", 
     "tienda_nombre": "sad", 
     "total": 123, 
     "logo": null, 
     "fecha": "2017-04-02T23:00:00.000Z" 
    } 
    ] 
} 

Datentabelle:

 var x.DataTable({ 
      "ajax" : myAjaxUrl, 
      "columns": [{ 
       "data": "data.fecha" // this doesn't work 
      }, { 
       "data": "data.total" // this doesn't work 
      }, { 
       "data": "data.logo" // this doesn't work 
      }], 
       //.............. 
     }); 

Danke @Sotjin Ich weiß, wie eine json lesen das ist nicht das Problem, das Problem ist in den Spalten Daten:

 "columns": [{ 
      "data": "data.fecha" // this doesn't work 
     }, { 
      "data": "data.total" // this doesn't work 
     }, { 
      "data": "data.logo" // this doesn't work 
     }], 

Das Ajax der Datentabelle kehrt das Objekt dann in Spalten iterieren das Objekt und zeigt die Daten in der Datentabelle "data": "data.fecha" // this doesn't work

zum Beispiel:

{ 
"data": [ 
     { 
      "id": "4", 
      "tienda_id": "5", 
      "tienda_nombre": "sad", 
      "total": 123, 
      "logo": null, 
      "fecha": "2017-04-02T23:00:00.000Z" 
     }] 
} 
//... 
"columns": [{ 
       "data": "data.fecha" 
      }, { 
       "data": "data.total" 
      }, { 
       "data": "data.logo" 
      }], 

Dies funktioniert

{ 
    "success": true, 
    "data": [ 
    { 
     "id": "4", 
     "tienda_id": "5", 
     "tienda_nombre": "sad", 
     "total": 123, 
     "logo": null, 
     "fecha": "2017-04-02T23:00:00.000Z" 
    } 
    ] 
} 

Dies funktioniert nicht

Antwort

0
var json = { 
    "success": true, 
    "data": [ 
    { 
     "id": "4", 
     "tienda_id": "5", 
     "tienda_nombre": "sad", 
     "total": 123, 
     "logo": null, 
     "fecha": "2017-04-02T23:00:00.000Z" 
    } 
    ] 
} 

data Eigenschaft zu lesen:

json.data[0].fecha 
json.data[0].logo 
... 

Wenn Sie in data mehrere Objekt haben, können Sie Schleife laufen kann eine Aktion mit jedem von ihnen zu tun:

json.data.forEach(function(obj) { 
    console.log(obj); 
}); 
+0

Überprüfen Sie die Bearbeitung bitte –

+0

@JoseLuis Ich habe auch einige bearbeiten, 'json.data [0] .Fecha' ist, was Sie brauchen, wenn Sie nur ein Objekt in' json.data' haben immer – Sojtin

+0

Ja, aber ich habe nicht 1 nur Objekt, ich zeigte nur 1 im Beispiel –

0

Verwenden Sie den Code unten:

var x.DataTable({ 
    "ajax" : myAjaxUrl, 
    "columns": [ 
     { "data": "fecha" }, 
     { "data": "total" }, 
     { "data": "logo" } 
    ], 
    // ... 
}); 

Weitere Informationen finden Sie unter Ajax sourced data.

Verwandte Themen