我编写了一个程序来捕获来自服务器的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
答案 0 :(得分:-1)
BufferedReader的readline()正在阻止。