我试图查看 tableRtf.Append(@"\intbl 1" + @"\cell Raj" + @"\cell Bangalore" + @"\cell India" + @"\row");
tableRtf.Append(@"\intbl 2" + @"\cell Peter" + @"\cell Mumbai" + @"\cell India" + @"\row");
tableRtf.Append(@"\intbl 3" + @"\cell Chris" + @"\cell Delhi"+ @"\cell India" + @"\row");
' FirstItemMGNAME2'是null,但是当它为null时它只是崩溃程序,当它不为null时,它只显示else语句。
简而言之,我只是试图查看一个字符串是否存在于JSONObject中,并创建一个if语句
JSONObject
以下是应用崩溃时的logcat
JSONObject FirstItemMGNAME2 = FirstItemArrayMG.getJSONObject(FirstItemArrayMG.length() - 2);
if (FirstItemMGNAME2.isNull("name")){
FirstItemIDMGNAME2 = "1";
}
else {
FirstItemIDMGNAME2 = FirstItemMGNAME2.getString("name");
}
当人们在这里要求我的所有代码时 - http://pastebin.com/JYsinqRw(由于身体被限制为30,000个字符,必须在pastebin上)
答案 0 :(得分:0)
试试optJSONObjet(String arg1)
。如果没有字段,则返回null
。 getJSONObject
会抛出JSONException
而不是返回null
。
或
FirstItemMGNAME2
可能是null
答案 1 :(得分:0)
尝试与Json String比较,而不是像
这样的json对象 if (FirstItemMGNAME2.getString("name").equals("")){
FirstItemIDMGNAME2 = "1"
}
else {
FirstItemIDMGNAME2 = FirstItemMGNAME2.getString("name");
}
如果这不能解决,请发送你的json结构
答案 2 :(得分:0)
通过将其放在try catch块中来修复 -
try {
JSONObject FirstItemMGNAME3 = FirstItemArrayMG.getJSONObject(FirstItemArrayMG.length() - 3);
if (FirstItemMGNAME3.isNull("name")){
FirstItemIDMGNAME3 = "1";
}
else {
FirstItemIDMGNAME3 = FirstItemMGNAME3.getString("name");
}
} catch (JSONException c) {
c.printStackTrace();}