Zitat von JNPANZER
Beitrag anzeigen
Ankündigung
Einklappen
Keine Ankündigung bisher.
JSON URL in PHP Werte in Variable speichern
Einklappen
Neue Werbung 2019
Einklappen
X
-
Zitat von hellbringer Beitrag anzeigen"09362" ist ein String und keine Zahl.
PHP-Code:{„01234“:“Test“}
PHP-Code:$data[…][…][„01234“]
PHP-Code:$data->…->…->key
Pre-Coffee-Posts sind mit Vorsicht zu geniessen!
Kommentar
-
Zitat von Thallius Beitrag anzeigenTrotzdem käme ich nie auf die Idee ein JSON ala
PHP-Code:{„01234“:“Test“}
PHP-Code:$data[…][…][„01234“]
PHP-Code:$data->…->…->key
Kommentar
-
Zitat von hellbringer Beitrag anzeigen
Derjenige, der die JSON-Daten erstellt hat, dem wird PHP wohl ziemlich egal sein.Pre-Coffee-Posts sind mit Vorsicht zu geniessen!
Kommentar
-
Zuletzt geändert von hellbringer; 07.06.2021, 20:11.Zitat von Thallius Beitrag anzeigenDas ist ja nicht nur in PHP so sondern in jeder object-orientierten Sprache. Egal ob du nun Java, JavaScript, c# oder was auch immer nimmst um das JSON object zu verarbeiten. Überall bist du mit dem Schrott am ars....
C#:
Code:var json = "{\"0123\":\"Foo\",\"xyz\":\"Bar\"}"; var obj = JsonConvert.DeserializeObject<Dictionary<string, string>>(json); Console.WriteLine(obj["0123"]); // Foo Console.WriteLine(obj["xyz"]); // Bar
Code:const json = "{\"0123\":\"Foo\",\"xyz\":\"Bar\"}"; const obj = JSON.parse(json); console.log(obj["0123"]); // Foo console.log(obj["xyz"]); // Bar
Code:$json = "{\"0123\":\"Foo\",\"xyz\":\"Bar\"}"; $obj = json_decode($json); echo $obj->{"0123"}; // Foo echo $obj->xyz; // Bar
Kommentar
-
Zitat von hellbringer Beitrag anzeigen
Nein, das Problem hat wohl nur PHP. Denn bei anderen Sprachen greift man nicht so auf JSON-Werte zu.
PHP-Code:let object = JSON.parse(JSON);
console.log(object.xxx.xxx.xxx);
Pre-Coffee-Posts sind mit Vorsicht zu geniessen!
Kommentar
-
Zuletzt geändert von hellbringer; 07.06.2021, 20:17.Ich finde du versuchst hier ein Problem zu konstruieren, das nicht existiert. Es ist durchaus üblich, dass man ein JSON-Object als Dictionary verwendet. Und ein Dictionary-Key kann nun mal auch Ziffern enthalten. Nur weil das für dich komisch ist, heißt das nicht, dass das keinen Sinn haben kann. Ein möglicher Anwendungsfall ist z.B. ein Dictionary Postleitzahl -> Ortsnamen:
Code:{ "01067": [ "Friedrichstadt", "Innere Altstadt", "Wilsdruffer Vorstadt/Seevorstadt-West" ], "01069": [ "Innere Altstadt", "Pirnaische Vorstadt", "Räcknitz/Zschertnitz", "Seevorstadt-Ost/Großer Garten", "Südvorstadt-Ost", "Südvorstadt-West", "Wilsdruffer Vorstadt/Seevorstadt-West" ] }
Kommentar
-
Zitat von hellbringer Beitrag anzeigenNein, das Problem hat wohl nur PHP. Denn bei anderen Sprachen greift man nicht so auf JSON-Werte zu.
https://docs.microsoft.com/de-de/dot...xt-json-how-to
Zitat von hellbringer Beitrag anzeigenCode:{ "01067": [ "Friedrichstadt", "Innere Altstadt", "Wilsdruffer Vorstadt/Seevorstadt-West" ], "01069": [ "Innere Altstadt", "Pirnaische Vorstadt", "Räcknitz/Zschertnitz", "Seevorstadt-Ost/Großer Garten", "Südvorstadt-Ost", "Südvorstadt-West", "Wilsdruffer Vorstadt/Seevorstadt-West" ] }
Kommentar
-
Zuletzt geändert von hellbringer; 07.06.2021, 21:26.Zitat von rkr Beitrag anzeigenDu hast zwar jetzt nicht ganz unrecht, aber wer kann deserialisiert JSON-Daten in vordefinierte Objekt-Strukturen. Und ich glaube, dass das gerade in C# das ultimative Ziel für die meisten Entwickler sein dürfte.
Zitat von rkr Beitrag anzeigenEs gibt Daten und es gibt Daten...
- 1 Likes
Kommentar
-
Zitat von hellbringer Beitrag anzeigenUnd Dictionaries sind durchaus Objekt-Strukturen, die häufig verwendet werden. Warum diese also nicht mit JSON abbilden? Nur weil der eine andere PHP-Programmierer seine Befindlichkeiten damit hat?
Ich würde dann eher einen XYZProvider schreiben, der die Daten wieder in statischen Strukturen ausgibt. Also im Prinzip so:
PHP-Code:@Serializable
data class ZipCodeCities(val zipCode: String, val cities: List<String>)
val zipCodeCitiesDecoder = { jsonPloerre: String ->
Json.decodeFromString<Map<String, List<String>>>(jsonPloerre)
.mapKeys { entry -> ZipCodeCities(zipCode = entry.key, cities = entry.value) }
}
zipCodeCitiesDecoder("""
{
"01067": [
"Friedrichstadt",
"Innere Altstadt",
"Wilsdruffer Vorstadt/Seevorstadt-West"
],
"01069": [
"Innere Altstadt",
"Pirnaische Vorstadt",
"Räcknitz/Zschertnitz",
"Seevorstadt-Ost/Großer Garten",
"Südvorstadt-Ost",
"Südvorstadt-West",
"Wilsdruffer Vorstadt/Seevorstadt-West"
]
}
""").forEach { println(it) }
Kommentar
Kommentar