从IF语句中返回值

时间:2011-10-31 09:10:13

标签: java android json

我想从IF语句返回一个字符串。下面是代码。我正在解析JSON对象,需要将数据插入到sql lite表中。

if (object.has("message")) {
    JSONObject message = object.getJSONObject("message");
    String newtype_mod = object.getJSONObject("message").getString("type");
    String newcontent_mod = object.getJSONObject("message").getString("content");
    objSample = new GetSetMethod();
    objSample.setnewcontent_mod(newcontent_mod);
    objSample.setnewtype_mod(newtype_mod);
    Log.v("##" + newcontent_mod, "V " + newtype_mod);
}

objSample = new GetSetMethod();
objSample.setNewreportid(newreportid);
objSample.setnewcontent_mod(newcontent_mod);
objSample.setnewtype_mod(newtype_mod);
Log.v("" + newcontent_mod, "" + newtype_mod);

正如您所理解的那样,无法从IF语句中访问newcontent_mod和newtype_mod。我强制要求IF声明。

我理解这个问题是基本的。请帮助一位新手!

谢谢!

3 个答案:

答案 0 :(得分:3)

你能不能简单地在if?

之外声明它们
String newtype_mod = "";
String newcontent_mode = "";
if ((object.has("message"))) {
    //
    // do stuff here
    //
}
// continue as before...

答案 1 :(得分:2)

您可以在 if 语句之外声明它,只需将值分配给这些变量

例如:

String newtype_mod="";
String newcontent_mod="";

if ((object.has("message"))) 
{
     JSONObject message = object.getJSONObject("message");
     newtype_mod = object.getJSONObject("message")
                        .getString("type");
     newcontent_mod = object.getJSONObject("message")
                     .getString("content");
     objSample = new GetSetMethod();
     objSample.setnewcontent_mod(newcontent_mod);        
     objSample.setnewtype_mod(newtype_mod);
     Log.v("##"+newcontent_mod,"V "+newtype_mod);
}

,否则

您可以在全局级别,即类级别变量

中声明

答案 2 :(得分:0)

在if语句之外声明2字符串,如

String newcontent_mod,newtype_mod;
if ((object.has("message"))) {
    JSONObject message = object.getJSONObject("message");
    newtype_mod = object.getJSONObject("message")
                        .getString("type");
    newcontent_mod = object.getJSONObject("message")
                        .getString("content");
    objSample = new GetSetMethod();
    objSample.setnewcontent_mod(newcontent_mod);        
    objSample.setnewtype_mod(newtype_mod);
    Log.v("##"+newcontent_mod,"V "+newtype_mod);
}