Java之JSONObject字符串转换操作方法过程

//假设有个json字符串需要转换,,  现在试用JsonObject进行操作,要求是: key必须是字符串才行.

String asString = "{\"response\":{\"isSuccess\":\"T\",\"traceList\":[{\r\n" + 
				"                \"trace\": {\r\n" + 
				"                    \"billCode\": 66824545122,\r\n" + 
				"                    \"desc\": \"[虎门]的【李元】正在派件, 电话:15846565466\",\r\n" + 
				"                    \"optTime\": \"2012-12-16 12:22:20\",\r\n" + 
				"                    \"optType\": \"派件\"\r\n" + 
				"                }\r\n" + 
				"            }]}}";
		//将字符串转换为json对象  获取根对象
		JSONObject object = new JSONObject(asString);
		
		/*
		   打印:object:{"response":{"traceList":[{"trace":{"optType":"派件","billCode":66824545122,"optTime":"2012-12-16 12:22:20","desc":"[虎门]的【李元】正在派件, 电话:15846565466"}}],"isSuccess":"T"}}
		*/
		
		Sysout.out.println(object);
		//获取子对象
		JSONObject responseJSONObject = object.getJSONObject("response");
		
		/*
		  打印出结果,看一下打印出来的内容:  responseJSONObject:{"traceList":[{"trace":{"optType":"派件","billCode":66824545122,"optTime":"2012-12-16 12:22:20","desc":"[虎门]的【李元】正在派件, 电话:15846565466"}}],"isSuccess":"T"}
		*/
		
		System.out.println("responseJSONObject:"+responseJSONObject);
		//拿到子对象字段  使用optString方法,即使为空,也不会报出异常.
		String isSuccess = responseJSONObject.optString("isSuccess");
		if (isSuccess.equals("T") && asString.contains("traceList")) {
		/*
		   获取json数组  拿到的是[  ]内的
		*/
			String traceList = responseJSONObject.getJSONArray("traceList").optString(0);
			System.out.println(traceList + "-----");
			if (!"".equals(traceList) && traceList != null) {
				JSONObject trace = new JSONObject(traceList);
				if (traceList.split("optTime").length < 3) {
					System.out.println("长度小于3");
					JSONObject traceObj = trace.getJSONObject("trace");
					String billCode="";
					String otpType="";
					String scanType="";
				String optType2 = traceObj.optString("optType");
					if(optType2.contains("派件")) {
						System.out.println(scanType="派件");
					}
				} else {
					System.out.println("進來2");
					System.out.println(2);
				}
			}
		}
		过程复杂 可以想象成一层层的获取到
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值