Android小技巧:json转map

在处理json时,我们一般是把json转为类对象,但是有时候我们不能明确知道json中的数据是什么,需要把它转为map去处理。


    /**
     * 将json格式的字符串转成Map对象
     */
    private static Map<String, String> jsonToHashMap( JSONObject jsonObject)
    {
        Map<String, String> map= new HashMap<String, String>();
        Iterator it = jsonObject.keys();
        // 遍历jsonObject数据,添加到Map对象
        while (it.hasNext())
        {
            String key = String.valueOf(it.next());
            //注意:这里获取value使用的是optString
            // optString 和getString的区别:单来说就是optString会在得不到你想要的值时候返回空字符串”“,而getString会抛出异常。
            String value = (String) jsonObject.optString(key);
            map.put(key, value);
        }
        return map;
    }

json中通过key获取value的方法有三种:getString、  optString、 get(key)


当然还可以通过json转换工具直接将json转为map例如 使用gson中的方法直接转map

     Gson gson = new Gson();
        Map<String,String> strmap= gson.fromJson("   {\"name\":\"admin\",\"testname\"\n" +
                "                  :\"aaa\"}", Map.class);


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值