2009-05-25 8 views
1

JSON形式を使用してJavaマップを返す最良の方法は何ですか? 私の特定の必要性は、日付と数字の間のキー - 値の関連付けです。JSONを使用してJavaマップを返す

私の構造は基本的に同じ型のN要素(日付と数値の間のマッピング)を含んでおり、Javascriptでそれらを素早く反復できるようにしたいと考えています。

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

と私はこのようにjQueryを使用します:

XMLでは、私が持っているでしょう

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

それはJSONと私の初めての経験だと私は何かを行うことができますかどうかを知りたいです類似。

答えて

8

JSONObjectは、JSONObject(Map)コンストラクタを持っています。

MapからJSONオブジェクトを作成したら、toStringメソッドを呼び出すことでJSON文字列を取得できます。

+0

ええ、それはうまくいきます(私もそれを試しましたが、主にString - > String Maps) – Jonik

+0

大変ありがとう私は知っている! :) – coobird

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

私は最後のカンマを残しています。なぜなら、私たちには多くの問題があります。 JavaScriptはそれを無視します。

これはあなたの質問にお答えしますが、それはあまり役に立たないと思います。より具体的なものを投稿してみてください。

+0

Hmm ...良いライブラリが存在するときにJSON文字列を自分で作成する(http://stackoverflow.com/questions/906530/using-json-to-return-a-java-map/906563#906563を参照)isn '必然的に*最善の方法、IMHO。 – Jonik

+1

さらに重要なことに、これは正しいJSONを生成できない場合があります。文字列に '文字が含まれている場合。 (これは、今でもやっていないキーを引用することで修正されないでしょう) – Jonik

関連する問題