2016-08-26 2 views
0

다음은 mysql 서버의 json 파일입니다.위치 0의 예상치 못한 문자 (A)

공지 사항 : 라인에 /var/www/html/studyabroad/university.php에서 문자열 변환 배열 (18)

Array[{"code":"100654","name":"Alabama A & M University", 
"type":"public","city":"Normal","state":"AL", 
"logo_url":"http:\/\/www.logosurfer.com\/sites\/default\/files\/university-of-california-logo_0.png", 
"percentage":"53"}, 

{"code":"100706","name":"University of Alabama in Huntsville", 
"type":"public","city":"Huntsville","state":"AL", 
"logo_url":"https:\/\/upload.wikimedia.org\/wikipedia\/commons\/b\/b2\/Ashford_University_Full_Color_Logo.png", 
"percentage":"82"}] 

내 구문 분석 코드에

JSONParser parser = new JSONParser(); 

    try{ 

     BufferedReader bfReader = new BufferedReader(new InputStreamReader(is)); 
     bfReader.readLine(); 
     StringBuilder builder = new StringBuilder(); 
     String line = null; 

     while((line = bfReader.readLine())!= null){ 
      builder.append(line).append("\n"); 
     } 

     line = builder.toString(); 
     Object obj = parser.parse(line); 

     return obj; 

    }catch(IOException ex){ 
     ex.printStackTrace(); 
    }catch(ParseException ex){ 
     ex.printStackTrace(); 

    }finally{ 
     try{ 
      is.close(); 
     }catch (IOException ex){ 
      //later handler it. 
      ex.printStackTrace(); 
     } 
    } 

내 서버 측에서 결과를 json 형식으로 변환합니다.

json_encode($data); 

오류의 원인은 json 데이터의 형식입니다. [{...},{..}] 대신 Array[{..},{..}]입니다. 위의 json 데이터 형식을 [{...}, {...}]으로 변경할 수있는 방법이 있습니까? 또는 지정된 형식을 어떻게 파싱합니까?

+0

이 차이를 자세히 설명해 [{...}, {...}] 대신 [{...}, {. .}]. –

+0

나는 그가 JSONArray가있을 때마다 그 배열을 추가한다고 생각한다. [] – Kushan

답변

0

이유는 바로 그쪽으로 배열 부분을 성공 값을 얻기 위해 문자열을 사용하지 :

line = builder.toString().substring(5); 
+0

내가 내부 배열이 없다고 가정하고있다 ... 거기에 로직을 조정할 수 있도록 지정해주십시오. :) – Kushan