2016-10-29 7 views
0

Ich arbeite mit einem Plugin namens (http://michaeleisenbraun.com/columns/), die JSON in Tabellen konvertiert.Hinzufügen von Klammern zu JSON AJAX

ich den folgenden Code verwenden:

<script> 
$.ajax({ 
     url:'/large-data.json', 
     dataType: 'json', 
     success: function(json) { 
      example2 = $('#example2').columns({ 
       data:json, 
      }); 
     } 
    }); 
</script> 

Es funktioniert gut, wenn die json in Klammern ist, wie unten:

[ 
    { 
    "id": 9998, 
    "isActive": false, 
    "balance": "$5", 
    "age": 38, 
    "eyeColor": "blue", 
    "name": "Lola Townsend", 
    "gender": "female", 
    "company": "...", 
    "email": "[email protected], 
    "phone": "..." 
    } 
] 

Aber funktioniert nicht, wenn die json nicht in Klammern steht, unten wie:

{ 
    "id": 9998, 
    "isActive": false, 
    "balance": "$5", 
    "age": 38, 
    "eyeColor": "blue", 
    "name": "Lola Townsend", 
    "gender": "female", 
    "company": "...", 
    "email": "[email protected], 
    "phone": "..." 
    } 

Die json Antwort ist von anderen Seiten, so dass ich in der Lage, nicht zu kontrollieren, ob es tut es/hat keine Klammern.

Gibt es eine Möglichkeit sicherzustellen, dass der zurückgegebene json Klammern hat und wenn nicht, Klammern hinzugefügt werden?

Ich versuchte JSON.parse() und es hat nicht funktioniert.

Antwort

0

Die erste bedeutet, dass es ein Array-Objekt ist, die zweite ist nur ein Objekt. Ich verstehe nicht wirklich, was Sie gerade versuchen, aber Sie können das Objekt einfach in ein Array einfügen, wenn es noch nicht alles ist. etwas wie:

Ich habe es nicht getestet, weil ich nicht weiß, was Sie tun möchten, aber das ist die Hauptidee.

Hoffe es hilft!

  • Nic
0

Sie können regex verwenden zu überprüfen, ob der Code mit ^\[|\n*\]$ korrekt ist. Sie sollten 2 Übereinstimmungen haben, wenn das erste Zeichen der Zeichenfolge [ ist und das letzte ] ist.

Sie können hier testen: https://regex101.com/r/Cukwog/1

Verwandte Themen