Gunnar Bittersmann: mehrdimensionales Array durchsuchen

Beitrag lesen

@@TS

Was wäre denn, wenn eine ID mehrfach in der Liste stände?

Dann sind die Daten halt so.

Ein Schiff kann ja umbenannt werden, bspw. die Völkerfreundschaft. Dann gehören halt zu einer ID mehrere Namen.

Die Anwendung, die die Daten verarbeitet, bestimmt, was dann geschehen soll: ob der erste Name relevant ist oder der letzte oder ob man eine Liste mit allen Namen haben will.

Die Daten sollen jedenfalls bezüglich ihrer späteren Verarbeitung agnostisch sein. Es kann auch mehrere Anwendungen geben, die die Daten unterschiedlich verarbeiten.

Auf jeden Fall soll das Format die Daten richtig beschreiben – und dabei auch gut menschenlesbar sein.

[
	{
		"id": "NCC-1031",
		"name": "Discovery"
	},
	{
		"id": "NCC-1227",
		"name": "Shenzhou"
	},
	{
		"id": "NCC-1701",
		"name": "Enterprise"
	}
]

erfüllt das. Die IDs sind als IDs gekennzeichnet und die Namen als Namen.

{
	"NCC-1031": "Discovery",
	"NCC-1227": "Shenzhou",
	"NCC-1701": "Enterprise"
}

erfüllt das nicht. Es steht nirgendwo geschrieben, dass das vor dem Doppelpunkt eine ID ist und das dahinter ein Name.


Müsstest Du nicht schon aus diesem Aspekt zuerst eine Überprüfung vornehmen und bei Doubletten eine Warnung generieren, bzw. eine Korrektur vornehmen?

In meinem speziellen Anwendungsfall werde ich das nicht müssen. Aber ja, man sollte sich Gedanken machen, s.o. Aber wie gesagt ist das Sache der Anwendung, nicht des Datenformats.


Womöglich will man die JSON-Datei nicht nur einfach per json_decode() in PHP einlesen, sondern wie Raketenwilli sagte aufbereiten. Wenn man etliche Zugriffe auf die Daten machen muss, ist das sicher sinnvoll.

In meinem speziellen Anwendungsfall wäre das wohl Overkill. Ich brauche den Namen zu einer bestimmten ID nur ein einziges Mal.

🖖 Живіть довго і процвітайте

--
„Ukončete, prosím, výstup a nástup, dveře se zavírají.“