7

AsyncTask を使用して URL から JSON をダウンロードし、onPostExecute() で putExtra メソッドを使用してその JSON オブジェクトを次のアクティビティに渡す必要があるアプリケーションがありますが、常にエラーが発生します。オブジェクトではありません」?これを修正するには?

4

3 に答える 3

29

パラメータを渡すときにこれを行います。

intent.putExtra("json", jsonobj.toString());

そして、新しいアクティビティで次のように解析します。

JSONObject obj = new JSONObject(getIntent().getStringExtra("json"));
于 2012-08-31T11:04:17.523 に答える
1

JSONObject はシリアライズ可能でもパーセル可能でもないオブジェクトであるため、putExtra を通じてシリアライズ可能またはパーセル可能なオブジェクトを渡す必要があります。

したがって、JSONObject を解析して Parcelable または Serializable クラスを作成する必要があり、それを putExtra メソッドを使用して渡すことができます。

もう 1 つのオプションは、jsonOjbect から JSON 文字列を渡すことです。

于 2012-08-31T11:12:02.927 に答える