String in Object (Array) umwandeln?

String

Erfahrenes Mitglied
Hallo zusammen,

wahrscheinlich ist die Lösung einfacher als ich mir vorstellen kann, allerdings schaff ich das noch nicht so ganz.

Wenn ich nun mit Ajax eine Datei nachladen dessen Inhalt so (oder ähnlich) ist:
{"url":"index.php"}

Und den Inhalt in der Variable "geladen" speicher. Wie kann ich dann auf "geladen.url" zugreifen?

Beste Grüße & Danke im Voraus

paD
 
Moin,

du könntest den String entweder mit eval() auswerten(was nur empfehlenswert wäre, wenn du der Quelle, aus der dieser String kommt, sicher vertrauen kannst, und sicher ist, dass dies ein sauber codierter JSON-String ist).

Beispiel:
Code:
<script type="text/javascript">
<!--
str='{"url":"index.php"}';
eval('geladen='+str);
alert(geladen.url);
//-->
</script>
....oder aber parsen. Das passende Skript zum Parsen findest du unter http://www.json.org/js.html
 
Eine weitere Möglichkeit ist, die Daten in ein JavaScript-Datei zu schreiben und diese dynamisch nachladen. Somit würdest du das Parsen dem Browser überlassen.
Wie Sven schon sagte, es kommt drauf an, welche Quellen es sind und was du mit den Daten vorhast.

Javascript:
<html>
<head><title>de.tutorials.javascript.lazyLoading</title>
<meta name="author" content="konstantin.denerz"></meta>
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript">

$(document).ready(function(){

// lazy loading
var loadData = function(){
$("head").append("<script class='loadedData' type='text/javascript' src='json.js'/>");
};

loadData();

// firebug logging
window.console.log(myData)
});

</script>
</head><body/></html>

Javascript:
// json.js
var myData = {
test: 5,
foobar: "bubu"
}

Gruß
Konstantin
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück