2011-10-31 4 views
1

からJSONObjectを作成します私はStringと同じprobを入力してJSONObjectを変更しようとしました。私はハッシュマップから離れて本当にJSONを使いたいと思っています。のjava(アンドロイド)は私のような何かをしようとしているスクラッチ

** EDIT - コードの位置**

package ... 

import ... 

public class MyActivity extends Activity { 
    public static final JSONObject MYOBJ = new JSONObject().put("value", "expression"); 

    ... // onCreate etc 
} 
+0

どういうのですか? –

+0

あなたはこの文をどこに正確に書いていますか? – denolk

答えて

6

JSONObjectには、処理する必要のあるチェック例外があるようです。お試しください

public static final JSONObject MYOBJ = new JSONObject(){ 
    { 
     try { 
      put("value", "expression"); 
     } catch(Exception e){ 
      e.printStackTrace(); 
     } 
    } 
}; 
+1

これは痛みですが、ランタイム例外のようなものが良い選択だったでしょう。 –

+0

幸運なことに、それは 'final'ではないので、RTEをスローするデリゲートクラスはディーラブルです:) –

1

プットの結果()オブジェクトです。 これを2行で行い、すべて正常です。

public static final JSONObject MYOBJ = new JSONObject(); 
static { 
    MYOBJ.put("value", "expression"); 
} 

static finalはオブジェクトの変更を妨げないことに注意してください。元の参照MYOBJは常に同じオブジェクトになります。

編集: おそらく、私はおそらくJSONライブラリとは異なる風味を使用していました。それにもかかわらず、上記のアプローチはおそらくうまくいくでしょう。タイプがすべて一致する場合は、元の行にさらにいくつかの括弧を追加します。

+0

JSONObjectについてこれによると、JSONObjectのhttp://developer.android.com/reference/org/json/JSONObject.html#put(java.lang.String,%20java.lang.Object) –

+0

+1の 'static'私が知らなかったやり方でのキーワード。 – Jacksonkr

+1

確かに例外です;) –

関連する問題