2016-12-31 1 views
0

Als Teil meiner RESTful API fand ich mich ein Json mit „Variable“ Schlüsseln zurück, um, ich werde versuchen, die Dinge klarer mit einem einfachen Beispiel zu machen:Flask geruhsames Modell mit variablen Tasten

Ich habe verschiedene Gruppen, wobei jede Gruppe ein group_id hat, so dass die erwartete Rendite wäre:

{ 
    1: { 
     "name": "first_group_name", 
     ... 
     }, 
    5: { 
     "name": "second_group_name", 
     ... 
     } 
} 

Wie Sie sehen können, die Tasten (group_id s) in der Wurzel json sind nicht etwas, das ich hart Code in meinem Modell kann, alles was ich weiß ist, dass sie ganze Zahlen sind. Kann jemand mit einer Lösung für dieses Problem helfen?

+0

Ihre Frage ist nicht klar genug, um ohne wilde Vermutungen zu antworten. Sind diese "Schlüssel" den Objekten zugeordnet? Sind sie das Ergebnis einer Anfrage des Kunden? Ihr Beispiel sieht ziemlich untypisch aus. Wenn Sie eine Gruppe von Objekten zurückgeben, die das Ergebnis einer Abfrage sind, warum geben Sie sie nicht in einem Array zurück? Warum ist der "Schlüssel" (von dem ich vermute, dass er tatsächlich eine ID ist) nicht Teil des Objekts? – AArias

+0

Ihre wilden Vermutungen sind richtig, die Schlüssel sind Teil der Objekte. Ich kann ein Array mit der ID im Inneren zurückgeben, aber die Rückgabe eines "Wörterbuch" macht mehr Sinn für den leichteren Zugriff. –

+1

Es tut es wirklich nicht. Lesen Sie die Community Wiki Antwort auf diese Frage: http://StackOverflow.com/Questions/671118/what-exactly-is-Restful-Programming und überprüfen Sie die Beispielantworten mit Sammlungen von Objekten. Obwohl es keinen offiziellen Standard gibt, besteht ein breiter Konsens über bewährte Verfahren für REST-APIs und Initiativen, die eine Standardisierung wie die Open API Initiative (https://github.com/OAI) anstreben. Das bedeutet nicht, dass es falsch ist, dass Sie Ihr Beispiel generieren möchten (REST wäre fraglich), aber in diesem Fall scheint die Antwort von @ metmirr angemessen zu sein. – AArias

Antwort

0

Ich bin nicht sicher, ob dies ist, was Sie brauchen, aber man kann so etwas tun:

return_values = {} 
group_ids = [1, 2, 3, 4] 
for g_id in group_ids: 
    return_values[g_id] = { "name": "%s_group_name"%i } 

print(return_values) 

#{1: {'name': 'group_1'}, 2: {'name': 'group_2'}, 3: {'name': 'group_3'}, 4: {'name': 'group_4'}} 

wenn Sie verwenden Sie den Code ändern können, wie Sie möchten.

+0

Vielen Dank, aber die Frage bezog sich speziell auf Flaschen-RESTplus-Modelle. –

Verwandte Themen