2017-03-22 77 views
0

我试图调用下面的代码。响应json对象获得空值

 // object 
     LoginVM loginVM = new LoginVM(); 
     loginVM.setUserName("admin"); 
     loginVM.setUserPassword("[email protected]"); 
     loginVM.setClientIpAddress("::1"); 
     loginVM.setIsPinActive(false); 
     loginVM.setLoginWithPIN(false); 


     //connection 
     URL url = new URL("http://192.168.202.118/UMService/UserLogin/Login"); 
     HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
     conn.setDoOutput(true); 
     conn.setRequestMethod("POST"); 
     conn.setRequestProperty("Accept", "application/json"); 
     conn.setRequestProperty("Content-Type", "application/json"); 

     conn.setDoOutput(true); //this is to enable writing 
     conn.setDoInput(true); //this is to enable reading 

     ObjectMapper mapper = new ObjectMapper(); 

     String jsonInString = mapper.writeValueAsString(loginVM); 
     System.out.println(jsonInString); 



     ObjectOutputStream out = new ObjectOutputStream(conn.getOutputStream()); 
     out.writeObject(jsonInString); 
     out.flush(); 

服务成功。但LoginVM的值为null。请您指出我所做的错误是什么?

+0

你能给出错误信息吗? – halim

+0

没有错误消息。只需获得null.It成功命中server.but对象获得空值 –

+0

您必须创建列表 loginVMList = new ArrayList ();和loginVMList.add(loginVM);并传递mapper.writeValueAsString(loginVMList); – halim

回答

0

应与类似工作:

JSONParser解析器=新JSONParser(); JSONObject jsonObj =(JSONObject)parser.parse(jSonResponse); JSONObject jsonObj =(JSONObject)parser.parse(jSonResponse);

您需要检查分配响应的对象。 此外,相应地检查JsonObject或数组之间。