我想从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声明。
我理解这个问题是基本的。请帮助一位新手!
谢谢!
答案 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);
}