结论:
1.JSONObject和HashMap用法上是一样的,用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);
}
}
}