Java之JSONObject存取值以及和HashMap区别, optString()和getString()区别和他的遍历方式

25人阅读 评论(0) 收藏 举报
分类:

结论:

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);
        }

    }

}

查看评论

JSONObject中optString和getString等的区别

The difference is that optString returns the empty string ("") if the key you specify doesn't exist....
  • rwb0123
  • rwb0123
  • 2017-06-03 14:29:49
  • 217

JSONObject optString与getString

1.getString(String name)与optString(String name),功能一样,只是当无返回值时,getString(String name)抛出错误,optString(S...
  • nonosama0125
  • nonosama0125
  • 2016-08-03 15:06:18
  • 6556

jsonObject.getString() 和jsonObject.optString()区别

//optJSONObject源码解析:          /**      * Returns the value mapped by {@code name} if it ex...
  • qq_29678299
  • qq_29678299
  • 2016-04-04 16:05:22
  • 3482

JSON中optString和getString的区别

optString方法会在对应的key中的值不存在的时候返回一个空字符串或者返回你指定的默认值,但是getString方法会出现空指针异常的错误。...
  • q540431546
  • q540431546
  • 2015-05-18 15:33:54
  • 15975

安卓解析中JSON中getString() 和optString()的区别

ThedifferenceisthatoptSt;这个是在stackoverflow上面看到的; The difference is that optString returns the empty...
  • u010015108
  • u010015108
  • 2015-10-26 08:55:21
  • 2675

JSON中getString() 和optString()

The difference is that optString returns the empty string ("") if the key you specify doesn't ex...
  • xuewater
  • xuewater
  • 2013-12-09 13:27:38
  • 13735

jsonObject.getString()与jsonObject.optString()

常见使用原生的解析json方法: JSONObject jsonObject = new JSONObject(); String str1 = jsonObject.op...
  • sinat_31057219
  • sinat_31057219
  • 2017-09-13 10:00:35
  • 1432

JSONObject optString与getString区别

getString(String name)与optString(String name),功能一样,只是当无返回值时,getString(String name)抛出错误,optString(Str...
  • liubowei19910711
  • liubowei19910711
  • 2017-03-03 16:18:38
  • 139

JsonObject的optString()和getString()的区别

之前没用过optString()方法,今天偶然遇到了解了一下 optString会在没有该字段的时候返回空字符串" ",而getString则会抛出异常,主要防止在返回的数据中没有该字段时程序挂掉。...
  • huolailaipianai
  • huolailaipianai
  • 2016-07-16 13:02:08
  • 301

JSONObject的getString()和optString()的区别

The difference is that optString returns the empty string ("") if the key you specify doesn't ex...
  • u011202334
  • u011202334
  • 2015-08-04 15:33:54
  • 2264
    个人资料
    等级:
    访问量: 325
    积分: 112
    排名: 122万+
    文章分类
    文章存档