1. 程式人生 > >Java之JSONObject存取值以及和HashMap區別, optString()和getString()區別和他的遍歷方式

Java之JSONObject存取值以及和HashMap區別, optString()和getString()區別和他的遍歷方式

結論:

1.JSONObjectHashMap用法上是一樣的,用put()方法存對於的Key-values鍵值對,取可用optString(key)getString(key),get(key),存入的是什麼型別,取出來的時候就是什麼型別

2**.optString()在沒找到key的時候返回空,而**getString()為找到的時候會丟擲錯誤

3.遍歷: 可以用Iterator實現便利,方法和map一樣

package Test;

import java.util.HashMap;
import java.util.Iterator;

import org.json
.JSONObject; public class JsonObjectTest { /** * { "err_no":500, "err_msg":"notsupport.", "sn":"abcdefgh", "idx":1 } */ public static void main(String[] args) { HashMap map = new HashMap(); map.put("err_no", 500); map.put("err_msg", "notsupport."); String result1 = (String) map.get
("err_msg"); System.out.println("map直接列印結果:" + map); System.out.println("maptoString列印:" + map.toString()); System.out.println("map取值err_msg列印:" + result1); JSONObject jsonObject = new JSONObject(); jsonObject.put("err_no", 500); jsonObject.put("err_msg"
, "notsupport."); jsonObject.put("idx", 1); String result2 = jsonObject.optString("err_msg"); String result3 = jsonObject.getString("err_msg"); String result4 = jsonObject.optString("err_no1"); // String result5 = jsonObject.getString("err_no1"); // System.out.println("result5: "+result5); 列印報錯 System.out.println("直接列印結果:" + jsonObject); System.out.println("toString列印結果:" + jsonObject.toString()); System.out.println("result2結果: " + result2); System.out.println("result3結果: " + result3); System.out.println("result4結果: " + result4); System.out.println(jsonObject.get("idx")); Iterator iter = jsonObject.keys(); while(iter.hasNext()) { String key=(String)iter.next(); Object values=jsonObject.get(key); } } }