2009-05-25 2 views
1

Wie kann eine Java Map im JSON-Format am besten zurückgegeben werden? Mein spezifischer Bedarf ist eine Schlüssel -> Wert-Verknüpfung zwischen einem Datum und einer Zahl.Verwenden von JSON zum Zurückgeben einer Java-Map

Mein Anliegen ist das: Meine Struktur enthält im Grunde N Elemente des gleichen Typs (eine Zuordnung zwischen einem Datum und einer Zahl), und ich möchte in der Lage sein, sie schnell in Javascript durchlaufen.

In XML, hätte ich:

<relation date='mydate' number='mynumber'/> 
<relation date='mydate' number='mynumber'/> 
... 
<relation date='mydate' number='mynumber'/> 

und ich würde jQuery wie folgt verwenden:

$(xml).find("relation").each(function() { 
    $(this).attr("date"); // the date 
    $(this).attr("number"); // the number 
}) 

Es ist meine erste Erfahrung mit JSON und ich würde gerne wissen, ob ich etwas tun kann ähnlich.

Antwort

0
String myJson = "{ "; 
for (String key : myMap.keySet()) 
    myJson += key + " : " + "'" + myMap.get(key) + "',"; 
myJson += " } "; 

Ich lasse das letzte Komma, weil es uns nicht viele Probleme gibt. Das Javascript ignoriert es einfach.

Nun, das beantwortet Ihre Frage, aber ich denke, das wird nicht viel helfen. Versuchen Sie, einen spezifischeren Beitrag zu veröffentlichen.

+0

Hmm ... Konstruieren der JSON-Zeichenfolge selbst, wenn gute Bibliotheken vorhanden sind (siehe http://StackOverflow.com/Questions/906530/using-JSon-ToReturn-AJAVA-map/906563#906563) isn ' t unbedingt der * beste * Weg, IMHO. – Jonik

+1

Noch wichtiger ist, dass dies in einigen Fällen keine korrekte JSON erzeugt, z. wenn die Zeichenfolgen Zeichen enthalten. (Und das wäre nicht behoben, indem man auch den Schlüssel zitiert, den du jetzt nicht tust.) – Jonik