-3
public class DemoActivity extends Activity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);



    JSONArray jsonarray=new JSONArray();
    jsonarray.put("Info");

    JSONObject j1=new JSONObject();
    try {

        j1.put("NAME", "NAKUL");
        j1.put("ADDRESS", "NASHIK");
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    jsonarray.put(j1);
    Log.d("Test",jsonarray.toString());


}

}

それは私に出力を与えます

12-10 14:14:59.639: D/Test(862): ["Info",{"ADDRESS":"NASHIK","NAME":"NAKUL"}]

しかし、私は出力が必要でした

["Info":{"ADDRESS":"NASHIK","NAME":"NAKUL"}] 

つまり、「、」の代わりに「:」が必要でした

4

1 に答える 1

0

あなたが望む出力は、適切な配列ではありませんJSON

JSON配列は、個々のキーと値のペアではなく、リテラルとオブジェクトのみを保持します

あなたは試すことができます、

jsonarray.put('info', j1)

これはあなたが望むものに近いですが、おそらくエラーをスローします

あなたが本当に欲しいのは:

{['Info' : {...}]}

プログラムを作成する前に、 jsonlint.comで出力をテストして、有効な JSON であることを確認してください。

于 2012-12-10T09:06:14.823 に答える