JSON数据无法捕获

时间:2016-12-22 05:27:15

标签: java json

我编写了一个程序来捕获来自服务器的JSON响应,其中包含我需要的一些所需信息。我发现有时我的程序无法捕获正确的JSON字符串,有时候它可以正常工作而没有问题。我尝试检查我的代码以捕获响应并且不知道它。当我从服务器检查JSON字符串时,它包含我想要的字段,但我的程序无法捕获正确的数据。

这是我的JSON字符串

"info":{  
      "reason":"Fine",
      "boolean":false,
      "post":{  
         "actions":"",
         "actions_In_process":"Checked",
         "destination":"C%3ApdfFdoc%20edipdfFdestinationpdfFexample.pdf",
         "file_type":"pdf",
       
      },

这是我捕获JSON字符串的程序,我需要的字段是action_In_process

String Url1 = "http://IP:port/etc/";
HttpURLConnection con = (HttpURLConnection) Url1.openConnection();  
con.setRequestMethod("GET");
con.connect();
int responseCode = con.getResponseCode();
if(responseCode == 200)
{
  try
   {
     InputStream is = con.getInputStream();
     BufferedReader read = new BufferedReader (new InputStreamReader(is));
     StringBuffer buffer = new StringBuffer();
     String data = "" ; 
     while((data = read.readLine() ) != null )
     {
         buffer.append(data);
     }

     String JsonData = buffer.toString();
     JSONObject jobj = new JSONObject(JsonData);
     JSONObject process_info = jobj.getJSONObject("info");
     JSONObject pi = process_info.getJSONObject("post");
     String action_run = pi.getString("actions_In_process");
     System.out.println("Process:" +action_run);

我发现的有时候Process进程显示为空白但是当我找回JSON数据时我发现我需要的字段是在JSON响应中。请分享您对此问题的看法

如果我无法捕获正确的JSON字符串

,这是显示我的编译器的消息
Process : 

如果处于正常状态

Process : check

1 个答案:

答案 0 :(得分:-1)

BufferedReader的readline()正在阻止。