JSON技巧篇

JSONObject.getBooleanValue("key")优势使用



import com.alibaba.fastjson.JSONObject;

public class JsonObjectTest {
    public static void main(String [] args){
        JSONObject jsonObject= new JSONObject();
        jsonObject.put("x",true);
        jsonObject.put("y",false);
        jsonObject.put("x1","true");
        jsonObject.put("y1","false");
        jsonObject.put("z",null);
        jsonObject.put("z1","");
        System.out.println(jsonObject.getBoolean("z"));//null
        System.out.println(jsonObject.getBoolean("z1"));//null
        System.out.println(jsonObject.getBooleanValue("z"));//false
        System.out.println(jsonObject.getBooleanValue("z1"));//false
        System.out.println(jsonObject.getBooleanValue("noExistsKey"));//false
        
    }
}

JSON多层解析示例
package iuap.iform.esn.service;

import com.google.gson.Gson;
import iuap.iform.esn.util.MapUtil;
import net.sf.json.JSONObject;

import java.util.Map;

/**
 * Created by Administrator on 2017/5/9.
 */
public class TestJson {
    public static void main(String [] args){
        String respText="{\n" +
                "  \"code\" : 0,\n" +
                "  \"msg\" : \"查询事件成功\",\n" +
                "  \"data\" : {\n" +
                "    \"callBackTag\" : \"user_add_org,user_modify_org,user_leave_org,org_admin_add,org_admin_remove,org_dept_create,org_dept_modify,org_dept_remove,org_remove,org_group_add,org_group_modify,org_group_remove\",\n" +
                "    \"callBackUrl\" : \"https://bpm.test.com/iform_web/esn/sync/event\"\n" +
                "  }\n" +
                "}";
        Map<String,Object> map = MapUtil.jsonToMap(respText);
        Map<String,Object> data = (Map<String, Object>)map.get("data");
        System.out.println(data.get("callBackTag").toString());

        //System.out.println(data);

        System.out.println("打印第一层map");
        showMap(map);
        Map<String,Object> dataMap=(Map<String, Object>) map.get("data");
        System.out.println("打印第二层map");
        System.out.println(dataMap.get("callBackTag").toString());

        String callBackTag=parseJson(respText,"callBackUrl");
        System.out.println(callBackTag);

    }
    public static String parseJson(String str,String tag){
        JSONObject jObj = JSONObject.fromObject(str);
        Object obj=jObj.getJSONObject("data");
        Gson gson=new Gson();
        Map map=gson.fromJson(obj.toString(), Map.class);
        String strV=(String) map.get(tag);
        return strV;
    }
    /***
     *
     * @param map 需要打印的Map结构
     */
    public static void showMap(Map<String,Object> map){
        for(Map.Entry<String,Object> kv:map.entrySet()){
            System.out.println(kv.getKey()+"  "+kv.getValue());
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江晓曼*凡云基地

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值