如何通过JSON对象到新的活动(How to pass JSON Object to new act

2019-06-27 15:21发布

我有一个需要使用的AsyncTask和onPostExecute(URL下载JSON的应用程序,JSON对象到下一个活动使用putExtra法)通过,但我不断收到错误消息,其内容“putExtra只能用于传递字符串和没有对象“?如何解决这一问题?

Answer 1:

经过帕拉姆时做到这一点:

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

而在你的新的活动解析它像这样:

JSONObject obj = new JSONObject(getIntent().getStringExtra("json"));


Answer 2:

在活动中,你所得到的JSON数据写入下面的代码发送到TAB活动

Intent i = new Intent(getApplicationContext(), Another_Activity.class);
                            i.putExtra("key", jsonObject.toString());
                            startActivity(i);

访问数据即JSON对象写在标签活动下面的代码

   JSONObject jsonObject = new JSONObject(getIntent().getStringExtra("key"));
                    Toast.makeText(Another_Activity.this, ""+jsonObject.get("Your JSON VALUE"), Toast.LENGTH_SHORT).show();

您的JSON值是其申请中存在的数据。 例如,“商业标识” 1个这里经营id是JSON值,与你更换



Answer 3:

你应该通过putExtra传递一个序列化或parcelable对象,JSONObject的既不是序列化,也不parcelable对象,所以你不能让它通过putExtra。

所以,你需要利用任何一Parcelable或Serializable类通过解析一个JSONObject,那么你可以使用putExtra的方法来传递。

另一种选择是从jsonOjbect通JSON字符串。



文章来源: How to pass JSON Object to new activity