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