应该是第一次看到JSONObject的optString("id", "0")方法,然后不知道是什么意思,一查才发现是很好的东西!以前解析JSON的时候都是直接用get()方法,然后后来意识到如果没有相应的key会导致程序崩溃后,在使用get()方法前又先加了容错,总之,是stupid!原来直接使用optXXX()就可以解决问题了!
optXXX(key, defaultValue)的用法是如果JSONObject有这个key,则返回这个key对应的value;如果没有这个key,则返回默认值defaultValue。XXX指的是相应的数据类型。。。。
String jsonString = "{\"id\":1,\"name\":\"Tom\"}";
JSONObject jsonObject = new JSONObject();
jsonObject.fromObject(jsonString);
int id = jsonObject.optInt("id", 0);
String name = jsonObject.optString("name", "Yo");
String foo = jsonObject.optString("foo", "foo");
然后id的值是 1 ,name的值是 Tom ,foo的值是 foo .