当用户登录到应用程序时,我得到了用户名、pasword、token、userID和入职板的JSON响应。根据应用程序的要求,如果JSON数据中的入职值是"true“,我必须将用户重定向到主页。
[
{
"display_name": "my email ID",
"msg_status": "success",
"userid": "userID",
"plan_type": "none",
"token": "my token",
"requires_onboarding": true
}
]我在java代码中得到了所有这些字段。现在,如果这个入职值为真,我想让用户转到主屏幕。请帮帮忙。
发布于 2015-08-28 16:29:42
如果您将这个json作为字符串,那么像下面的代码那样解析它。如果您已经使用了JSONArray,那么就不需要使用第一行了。
JSONArray jsonArray = new JSONArray(jsonString);
JSONObject json2 = jsonArray.get(0);
boolean onBoarding = json2.getBoolean("requires_onboarding");然后你可以用你的布尔变量做你想做的任何事情。
如果您对JSON有疑问,以下是有关它的一些信息:
JSONArray类似于:events:[ {"object1": value}, {"object1":Value} ],这意味着您获得了JSONArray,并对其中的每个东西使用了jsonArray.get(position)。(请注意,可以在JSONArrays中使用JSONArrays。
JSONObject基本上是具有附加值的"string“名称。
因此,您必须始终看到所获得的数据是如何构造成正确解析并在JSONObjects或数组之间进行正确选择的。
发布于 2015-08-28 16:53:10
最简单的方法是:
boolean what = false;
try{
JSONArray mRootArray = new JSONArray(jsonString);
JSONObject jInnerObject = mRootArray.getJSONObject(0);
what = jInnerObject.getBoolean("requires_onboarding");
}catch(Exception e){
what = false;
e.printstacktrace();
}现在按布尔值的状态进行维护:
if(what){
// Go to netxt screen
}else{
// Stay here
}希望这能帮到你,
发布于 2015-08-29 22:17:51
我得到了所需的输出人员,谢谢您的回应,正如我下面提到的。
String name = list.get(5);
if (name.equals("true"))
startActivity(new Intent(Login.this, OnBoardingOne.class));https://stackoverflow.com/questions/32275631
复制相似问题