6
JSONObject login = new JSONObject();
login.put("Key1", "Value1");

キーと値のペアを使用して単純な JSON オブジェクトを作成しようとしていました。この例外 " Unhandled exception type JSONException" が発生します。

Map<String,String> map = new HashMap<String,String>
map.put("key1", "value1");

キーと値のペアでオブジェクトを作成する方法はどちらも同じですか。これは、サービスに送信する必要があるオブジェクトを作成するときに推奨される方法です。

4

2 に答える 2

21

未処理の例外タイプ JSONException

コードを try-catch ブロックにラップする必要があります。これは警告です。

JSONObject login = new JSONObject();
    try {
        login.put("Key1", "Value1");
    } 
    catch (JSONException e) {... }

キーと値のペアでオブジェクトを作成する方法はどちらも同じですか。これは、サービスに送信する必要があるオブジェクトを作成するときに推奨される方法です。

JSONObject.put()JSONException をスローし、スローしMap.put()ません。

どちらもキーと値のペアとして機能しますが、それらは異なります。

JSON通常、データ交換に使用される特定の軽量形式であり、作成すると、その文字列表現をネットワーク経由で簡単に渡すことができます。

データ構造としては不可能です(文字列にMap直接変換する)か、言い換えれば、KeySet()ほぼ同じことを達成したい場合は、マップと各キーストアキーの値を文字列にする必要があります(たとえば、StringBuilderを使用)と同様JSON

したがって、ネットワークを介して「異なるマシン」間でデータを渡したい場合JSONは、直接指定されています。

于 2013-03-29T11:31:15.477 に答える
1

JSONObject に移動します。

  • JSONを作成または操作したい場合

  • データを渡すサービスが JSONObject を受け入れる場合

    コレクションに行く

  • 特定のデータ構造があなたに合っているかどうか

  • データを渡すサービスが Collection オブジェクトを受け入れる場合

于 2013-03-29T11:39:07.443 に答える