DB API - Serialisierung der Artikelnummern

Rund um die ft-datenbank
Around the ft-database

Moderator: ft-Datenbank-Team

Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
tintenfisch
Beiträge: 472
Registriert: 03 Jan 2018, 22:04

DB API - Serialisierung der Artikelnummern

Beitrag von tintenfisch » 11 Jun 2020, 12:17

Hallo zusammen,

wenn man ein bspw. einen Baukasten aufruft, sind die Artikel-Nummern in einem String als eine verschachtelte Liste in JSON kodiert.
Könnte / sollte das nicht ein Dictionary sein?

Bspw. https://ft-datenbank.de/api/ticket/5105 enthält

Code: Alles auswählen

"ft_article_nos": "[[\"1989\",\"30302\"],[\"1991\",null]]",
Das bedeutet, dass man den String wiederum deserialisieren muß:

Code: Alles auswählen

d = dict(json.loads(dct['results']['ft_article_nos']))
d
{'1989': '30302', '1991': None}
M.E. sollte das min. zu

Code: Alles auswählen

"ft_article_nos": [["1989", "30302"], ["1991",null]],
geändert werden, oder, m.E. sinnvoller, wie oben im Code angegeben:

Code: Alles auswählen

"ft_article_nos": {"1989": "30302", "1991": null}
Grüße
Lars

tintenfisch
Beiträge: 472
Registriert: 03 Jan 2018, 22:04

Re: DB API - Serialisierung der Artikelnummern

Beitrag von tintenfisch » 12 Jun 2020, 12:29

Gleiches "Problem" bei den Einzelteilen, vgl. https://ft-datenbank.de/api/ft-partslist/5105

Code: Alles auswählen

 "ft_article_nos": "[[\"1987\",\"32615\"]]",
M.E. könnte auch

Code: Alles auswählen

 "ft_article_nos_formatted": "1987: 32615""
als Dictionary serialisiert werden, aber das wäre nicht so wichtig, die verschachtelte Liste (erstes Codebeispiel), die wiederum deserialisiert werden muß, halte ich für "unglücklicher".

Nachtrag:
Ggfs. könnte "ft_article_nos_formatted" auch ganz wegfallen, sofern "ft_article_nos" ein dict ist und das nicht für die UI gebraucht wird?

Antworten