25

AndroidでこのJSONオブジェクトを作成しようとしています。オブジェクトに文字列配列を追加する方法に行き詰まっています。

A = {
    "class" : "4" ,
    "name" : ["john", "mat", "jason", "matthew"]
    }

これは私が書いたコードです:

import org.json.JSONObject;

JSONObject school = new JSONObject();

school.put("class","4");
school.put("name", ["john", "mat", "jason", "matthew"] );

しかし、最後の行でエラーが発生します。これを過ぎた方法はありますか?

4

5 に答える 5

56

トムによって提案された少し不適切なアプローチ。最適化されたコードは次のようになります。

ArrayList<String> list = new ArrayList<String>();
list.add("john");
list.add("mat");
list.add("jason");
list.add("matthew");

JSONObject school = new JSONObject();

school.put("class","4");
school.put("name", new JSONArray(list));
于 2013-10-16T12:20:10.797 に答える
6

最後の行が無効な Java であるため、エラーが発生しています。

school.put("name", new JSONArray("[\"john\", \"mat\", \"jason\", \"matthew\"]"));
于 2013-03-31T13:10:45.233 に答える
3

このため、エラーが発生しています。

school.put("name", ["john", "mat", "jason", "matthew"] );
                   ^                                 ^   

このようにしてください。

school.put("name", new JSONArray("[\"john\", \"mat\", \"jason\", \"matthew\"]"));
于 2013-03-31T13:00:54.533 に答える
2

@bhavindesaiの、答えは素晴らしい答えです。この問題を解決する別の方法を次に示します。Json Simple ライブラリを使用して簡単に実行できます。グレードはこちら

compile 'com.googlecode.json-simple:json-simple:1.1'

サンプルコードは次のとおりです。

org.json.simple.JSONObject jsonObject=new org.json.simple.JSONObject();
jsonObject.put("Object","String Object");

ArrayList<String> list = new ArrayList<String>();
            list.add("john");
            list.add("mat");
            list.add("jason");
            list.add("matthew");

            jsonObject.put("List",list);

それでおしまい。:)

于 2016-03-23T07:45:32.630 に答える