首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从一个活动发送和接收json对象到另一个活动?

如何从一个活动发送和接收json对象到另一个活动?
EN

Stack Overflow用户
提问于 2017-05-09 04:13:11
回答 5查看 3.2K关注 0票数 3

我面临着从活动到另一个活动发送和接收google对象的问题。

代码语言:javascript
复制
 List<Integer> selectedScamMediumIds = scamMediumHorizontalAdapter.getSelectedScamMediumIds();
 JsonObject scamData = new JsonObject();
 JsonArray scamMediumJsonArray = new JsonArray();

 for (Integer scamMediumId:selectedScamMediumIds) {
     JsonPrimitive jsonPrimitive = new JsonPrimitive(scamMediumId);
     scamMediumJsonArray.add(jsonPrimitive);
 }
 scamData.add("scam_medium_id",scamMediumJsonArray);
 scamData.addProperty("scam_category_id", scamCategoryId);
 scamData.addProperty("scam_sub_category_id", scamSubCategoryId + "");
 scamData.addProperty("scammer_phone", phoneNumber.getText().toString());
 scamData.addProperty("scammer_location", scammerLocation.getText().toString());
 scamData.addProperty("lat", lattitude);
 scamData.addProperty("lng", longitude);

 Intent intent = new Intent(ScamLookUpActivity.this, ScamSearchActivity.class);
 intent.putExtra("scamDatas", scamData.toString());
 intent.putExtra("scamSubCategoryText", subCategoryTitle);
 startActivity(intent);

我试过以上方法,我不知道它是否正确。请帮助我如何发送和接收json对象从一个活动到另一个活动。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-05-09 04:26:34

你这样做是正确的。要在另一个活动中获得它,您可以按照

代码语言:javascript
复制
if (getIntent().getExtras() != null) {
                String scamDatas = getIntent().getStringExtra("scamDatas");
                String scamSubCategoryText  = getIntent().getStringExtra("scamSubCategoryText");
                try {
                  JsonParser parser = new JsonParser(); 
                  JsonObject scamDataJsonObject = parser.parse(scamDatas).getAsJsonObject(); 
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
票数 3
EN

Stack Overflow用户

发布于 2017-05-09 05:07:37

试一试

1.通过意图发送字符串

代码语言:javascript
复制
intent.put("scamData", scamData.getAsString(); //or scamData.toString();

2.在其他活动中从意图接收字符串

代码语言:javascript
复制
String scamDataStr = getIntent().getStringExtra("scamData");

3.使用JsonParser解析json的

代码语言:javascript
复制
new JsonParser().parse(scamDataStr);
票数 3
EN

Stack Overflow用户

发布于 2017-05-09 05:18:41

您可以简单地将整个JSONObject作为字符串。就像这样:

代码语言:javascript
复制
i.putString("scamData", jsonObj.toString);

然后在MovieProductActivity中你可以

代码语言:javascript
复制
JSONObject jsonObj = new JSONObject(getIntent().getStringExtra("scamData"));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43860992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档