2011-08-13 7 views
1

을 찾지 못하는 내가 자바 구문 분석하려면 다음 JSON 텍스트가 : 아래 JSON 구문 분석 항목

{ 
    "items": [ 
     { 
      "key": "D033222DF44E5308482578EB0017588A", 
      "Date": "Aug 13 2011", 
      "Time": "04:54:46 PM", 
      "Company": "CHINA ESSENCE GROUP LTD.", 
      "AnnTitle": "FIRST QUARTER RESULTS * FINANCIAL STATEMENT AND RELATED ANNOUNCEMENT", 
      "Siblings": "18", 
      "SNo": 18 
     }, 
     { 
      "key": "C9906046C7F0E232482578EB0030C437", 
      "Date": "Aug 13 2011", 
      "Time": "04:52:12 PM", 
      "Company": "DESIGjsonN STUDIO FURNITURE MFRLTD", 
      "AnnTitle": "NOTICE OF BOOK CLOSURE DATE FOR DIVIDEND", 
      "Siblings": "18", 
      "SNo": 17 
     } 
    ] 
} 

내 JSONParser 클래스입니다 :

import org.json.JSONArray; 
import org.json.JSONException; 
import org.json.JSONObject; 

public class JSONParser { 

private String input = null; 

public JSONParser() { 
} 

public JSONParser(String input) { 
    setInput(input); 
} 

public JSONArray parse() throws JSONException { 
    JSONObject obj = new JSONObject(); 
    return obj.getJSONArray("items"); 
} 

/** 
* @return the input 
*/ 
public String getInput() { 
    return input; 
} 

/** 
* @param input the input to set 
*/ 
public void setInput(String input) { 
    this.input = input; 
} 
} 

내 main() 메소드 클래스는 이러한 코드를 포함

 JSONParser parser = new JSONParser(jsonStr); 
     JSONArray array = parser.parse(); 
     for (int i = 0; i < array.length(); i++) { 
      Object obj = array.get(i); 
      System.out.println(">> " + obj.toString() + "\n"); 
     } 

내 출력 보여준다 다음 "jsonStr"객체를 파싱하는 파서를 실행할

01,235,164을
SEVERE: null 
org.json.JSONException: JSONObject["items"] not found. 

json.org에서 JSON 용 Java 코드를 사용하고 있습니다.

위 문자열을 어떻게 파싱해야합니까?

감사합니다.

답변

4

실제로 입력 문자열을 JSON 구문 분석 라이브러리에 전달하지 않았습니다. JSONParser#parse() 메서드는 this.input을 (어떻게 든) 사용해야합니다. 이 시도 : 말했다

public JSONArray parse() throws JSONException 
{ 
    JSONObject obj = new JSONObject(this.input); 
    return obj.getJSONArray("items"); 
} 

, org.json.JSONObject는 고대의 구현입니다. 나는 그런 다음 중 하나로,는보다 현대 JSON 라이브러리를 사용하는 것이 좋습니다 강하게 것 :

+0

덕분에 많은 : D를. – thotheolh