2011-08-13 12 views
1

私はJavaで解析するには、次の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" オブジェクトを解析するパーサを実行する

SEVERE: null 
org.json.JSONException: JSONObject["items"] not found. 

json.orgが提供するJSONのJavaコードを使用しています。

上記の文字列を解析するにはどうすればよいですか?

ありがとうございました。

答えて

4

実際には、入力文字列をJSON解析ライブラリに渡していません。 JSONParser#parse()メソッドは、何らかの理由でthis.inputを使用する必要があります。 org.json.JSONObjectは古代の実装である、と述べたこと

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

:これを試してみてください。

+0

どうもありがとう:D私は強くは、次のいずれかとして、より近代的なJSONライブラリを使用することをお勧めします。 – thotheolh