1. 程式人生 > >java 呼叫webservice 介面 解析返回json

java 呼叫webservice 介面 解析返回json

public static void main(String[] args)throws ServiceException, MalformedURLException, RemoteException, ParseException {
		String endpoint="http://localhost:8088/testproject/FilewebservicePort?wsdl";
		String namespace="http://webservice.cloud.com/";  //namespace
			   Service service=new Service();
				Call call = (Call) service.createCall();
				call.setTargetEndpointAddress(new URL(endpoint));
				call.setOperationName(new QName(namespace, "getFileService")); //要呼叫介面方法嗎
				call.addParameter("arg0", XMLType.XSD_STRING, ParameterMode.IN);    //arg0單表 傳入引數
				String res = (String) call.invoke(new Object[]{"admin"});   //呼叫返回引數
				System.out.println(res);
				JSONArray jsonArray = new JSONArray(res);  //解析json
				int iSize = jsonArray.length();
				for (int i = 0; i < iSize; i++) {
					JSONObject jsonObj = jsonArray.getJSONObject(i);
					System.out.println("[" + i + "]name=" + jsonObj.get("name"));
					System.out.println("[" + i + "]id=" + jsonObj.get("id"));
					
					//json包含了一個物件,獲取物件下的屬性
					JSONObject myjObject2 = jsonObj.getJSONObject("persion");  
					System.out.println("["+i+"]persion id"+myjObject2.getString("id")+"\n");
					System.out.println("["+i+"]persion username"+myjObject2.getString("username"));
					System.out.println("["+i+"]persion age"+myjObject2.getString("age"));
				}
	}