필요한 일부 필요한 정보가 들어있는 서버에서 JSON 응답을 캡처하는 프로그램을 작성합니다. 언젠가는 내 프로그램이 올바른 JSON 문자열을 포착 할 수 없다는 것을 알았고 때로는 문제없이 잘 작동한다는 것을 알게되었습니다. 나는 응답을 포착하기위한 코드를 확인하려고하고 그 코드에 대해서는 전혀 모른다. JSON 문자열을 서버에서 확인할 때 원하는 필드가 있지만 프로그램에서 올바른 데이터를 캡처 할 수 없습니다. JSON 데이터를 캡처 할 수 없습니다.
이
이는 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);
입니다 캡처 내 프로그램 언젠가 프로세스를 보여주는이된다
"info":{
"reason":"Fine",
"boolean":false,
"post":{
"actions":"",
"actions_In_process":"Checked",
"destination":"C%3ApdfFdoc%20edipdfFdestinationpdfFexample.pdf",
"file_type":"pdf",
},
내 JSON 문자열입니다 blank하지만 JSON 데이터를 다시 얻었을 때 필요한 필드가 JSON 응답 내부에 있음을 알았습니다. 이것이 내가 할 수없는 올바른 JSON 문자열을
Process :
하면 정상 상태에서
Process : check
jsonlint.com을 사용하여 json 문자열을 확인하십시오. –
"JSON String"이 (가) 유효한 JSON이 아닙니다. – Henry
@ScaryWombat - 유효성을 검사했습니다. 원하는 데이터가 포함되어 있지만 프로그램에서 검색 할 수 없습니다. – yumi