2011-12-08 2 views
0

JSON 라이브러리를 사용하여 가져 오기 검색 기능에서 트위터 정보를 사용하려고합니다.
JSONArray 텍스트는 '[문자 2 행 1]에'[ '로 시작해야합니다.에서 JSONArray 또는 Java의 JSONObject로 변환

그래서 기본적으로 잘못된 형식입니다. 어떤 사람들은 이것이 객체가 될 필요가 있다고 말하고 있지만 생성자를 호출 할 때마다 String을 입력으로 사용할 수 없다고 말합니다. 이 문자열을 JSONArray의 형식으로 가져와 요소에 액세스 할 수 있도록하려면 어떻게해야합니까?

URL twitterSource = new URL("http://search.twitter.com/search.json?q=google"); 
ByteArrayOutputStream urlOutputStream = new ByteArrayOutputStream(); 

IOUtils.copy(twitterSource.openStream(), urlOutputStream); 
String urlContents = urlOutputStream.toString(); 

// parse JSON 
System.out.println(urlContents); 
JSONArray jsonArray = new JSONArray(urlContents); 

// use 
for (int i = 0; i < jsonArray.length(); i++) { 
    JSONObject jsonObject = jsonArray.getJSONObject(i); 

    System.out.println(jsonObject.getString("id")); 
    System.out.println(jsonObject.getString("text"));    
    System.out.println(jsonObject.getString("created_at")); 
} 

내 인쇄 문은 문자열이 포함 보여줍니다 :

{"completed_in":0.318,"max_id":144850937012428800,"max_id_str":"144850937012428800","next_page":"?page=2..................... 

이는 JSON 객체의 형태로 문자열이지만 실제로 객체가 아닌

여기 내 코드입니다. 그것은 여전히 ​​문자열입니다. 나는 문자열을 인쇄하고있다. HOw를 Object 또는 더 나은 아직 JSONArray로 가져와 실제로 요소에 액세스 할 수 있습니까?

답변

2

JSON 개체 인입니다. 배열이 아닙니다.

+0

감사합니다. JSON 객체의 요소에 어떻게 액세스 할 수 있습니까? – Randnum

+0

당신은 어떤 물건을 언급하고 있습니까? urlContents는 문자열입니다. 어느 JSONArray() 생성자에 전달 해요. JSON 파일의 전체 문자열을 게시하지는 않았지만 원하는 콘텐츠가있는 많은 요소가있는 JSON 형식으로되어 있습니다. – Randnum

+0

urlContents가 JSON 객체라고 말하면 어떻게 배열로 변환합니까? "새로운 JSONArray (urlContent)"는 그렇게하지 않아야합니까? – Randnum

관련 문제