2

文字列として保存しようとしてList<String>いますが、変換により値がJSONArray得られIntegerます。

したがって、出力は次のようになります。

{"data":"{\"my_array\":[\"[41, 14]\"]}"}

私が欲しいもの:

{"data":"{\"my_array\":[\"[\"41\", \"14\"]\"]}"}

最初の出力は Java 環境では問題ありませんが、iOS では値が「文字列」である必要があります。

少し更新:JSONObject.toString()これが台無しになると思います。次のコード:

    List<String> test = Arrays.asList("41", "14");
    JSONObject root = new JSONObject();
    try {
        root.put("my_array", test);
    } catch (JSONException e1) {
    }

結果: {"my_array":"[41, 14]"}

ありがとう。

4

1 に答える 1

1

を使用しJSONArrayます。

 public void test__aaaa(){
        try {
            List<String> test = Arrays.asList("41", "14");

            JSONArray array = new JSONArray(test);

            JSONObject root  = new JSONObject();
            JSONObject data = new JSONObject();
            root.put("data", data);

            data.put("my_array", array);

            assertEquals(root.toString(), "{\"data\":{\"my_array\":[\"41\",\"14\"]}}");

        } catch (JSONException e1) {
        }
    }

Androidlistでは Object として置くと、Json はそれをそのまま String に変換するので、 を取得し"[41,14]"ます。

于 2013-10-26T08:08:12.237 に答える