2011-06-22 6 views
0

私はPythonでまともなプログラマーでした。今私は私のチャットアプリケーション用のWowzaモジュールを余儀なくされています。 Facebookアカウントでログインするアプリケーションと各ユーザーのステータスは、Flashクライアント& RTMP経由で接続されたアプリ開発用のJavaを使用するWowzaサーバーに保存されます。オンラインステータスデータ構造は、Pythonの場合と同じようになります。Python DictをJavaおよびJSONに移行

私はJavaで変数「タイプ」がそれほど慣れていないです、Javaでそれを表現する方法を教えてください:(

x = { 
    10001: { 
     'status': 0, 
     'friends': {} 
    }, 
    10002: { 
     'status': 1, 
     'friends': { 
      10001: 0, 
      10003: 1 
     } 
    }, 
    10003: { 
     'status': 1, 
     'friends': { 
      10001: 0, 
      10003: 1 
     } 
    } 
} 

10001,10002をなどのFacebookユーザーID ...と0,1となります 10001が接続されている場合、データ構造には少しの変更が加えられ、10001のステータスが1に変更され、Facebookのすべての友人IDが追加され、ステータスが更新されます。

x = { 
    10001: { 
     'status': 1, 
     'friends': { 
      10002: 1, 
      10003: 1   
     } 
    }, 
    10002: { 
     'status': 1, 
     'friends': { 
      10001: 1, 
      10003: 1 
     } 
    }, 
    10003: { 
     'status': 1, 
     'friends': { 
      10001: 1, 
      10003: 1 
     } 
    } 
} 

ユーザ10001がそれは早い段階に移動します。 とにかくjsonオブジェクトとして保存することはできますか?またはデータを保存して取り出す簡単な方法がありますか?

答えて

0

私が必要としたのは、ライブラリhttp://www.json.org/javadoc/org/json/JSONObject.htmlでした。 私は、すべてのオブジェクトに '型'を追加するような少しの苦労でそれを使用することができ、1つのステップでツリーをPythonのように作成することはできません。

おかげmandubianとjtoberon :))

import net.sf.json.JSONException; 
import net.sf.json.JSONObject; 

public class JSONExample { 
    JSONObject json; 
    JSONObject objJSON; 
    JSONObject objObjJSON; 

    public void addtoJSON(){ 
     json = new JSONObject(); 
     objJSON= new JSONObject(); 
     objObjJSON =new JSONObject(); 

     //adding last tree 
     objObjJSON.put(10001, 0); 
     objObjJSON.put(10002, 1); 

     //adding secondary tree 
     objJSON.put("status",1); 
     objJSON.put("friends",objObjJSON); 

     //added root tree 
     objJSON.put(10003,objJSON); 

     System.out.println("JSON is " + objJSON); 


    } 

} 
0

あなたが何をしたいかによって...
Google Gsonなどのjsonライブラリを使用できる場合は、JavaからJSONを管理するのに最適です。 あなた自身でコードを作成したいだけで、整数や文字列を管理したい場合は、それほど難しいことではありません。
Json構造体は配列またはマップキー/値で、keyはStringで、Valueは簡単な値か複雑なものなのでハッシュマップや配列...

1

私はストアとリトリーブによってメモリにキャッシュすると仮定しているので、 (1)データをカプセル化するjavabeanクラスを作成します。 javaのHashMapは、Python辞書に非常によく似ています。あなたがPythonであるかのようにJavaでクラスを記述しようとしないで、あなたの質問を結果で更新してみてください。そうすれば人々は実際のPythonの同等物を持たないjava genericsのような詳細を手助けすることができます。 (2)オブジェクト<→JSONマッピングフレームワークのいずれかを使用して、JSONとの間でインスタンスをシリアル化します。 GsonとJacksonが人気です。

関連する問題