2017-09-13 1 views
-4

은 내가 값 배열의 하나 개의 값을 얻을 이클립스 텍스트 뷰에 넣어하려는JSON을 어떻게 파싱 하시겠습니까?

{ 
    "status":200, 
    "message":"ok", 
    "response": {"result":1, "time": 0.0123, "values":[1,1,0,0,0,0,0,0,0] 
    } 
} 

같은 JSON 데이터 형식을 가지고있다. 이클립스 내 코드를 봐

protected void onPostExecute (String result){ 
try { 
JSONobject json = new JSONObject(result); 
tv.setText(json.toString(1)); 
}catch (JSONException e){ 
e.printStackTrace(); 
} 
} 
+2

당신의 코드가 일부 누락 것으로 보인다. 'try'는 어디에 있고 그 함수는 어디에서 닫습니까? – nalyd88

답변

0

json 파싱을 위해 jackson 라이브러리를 사용할 수 있습니다.

ObjectMapper mapper = new ObjectMapper(); 
Map map = mapper.readTree(json); 
map.get("key"); 

당신은 JSON이 된 JSONObject 클래스 다른 사용 typeref의 인스턴스 알고있는 경우 readTree를 사용하여지도를 얻을 수 readValue으로 갈 수 있습니다.

1

당신은 당신의 응답

public class Response{ 
    private int result; 
    private double time; 
    private ArrayList<Integer> values; 

    // create SET's and GET's 
} 

에 대한 POJO를 작성

GSON

를 사용하는 그리고 당신이 원하는 개체를 만들 수 GSON를 사용할 수 있습니다.

protected void onPostExecute (String result){ 
    try { 
    Gson gson = new GsonBuilder().create(); 
    Response p = gson.fromJson(result, Response.class); 
    tv.setText(p.getValues()); 
    }catch (JSONException e){ 
    e.printStackTrace(); 
    } 
} 
+0

대단히 감사합니다 joao86, 당신의 코드가 도움이되었습니다, 그 작동하지만 인덱스로 값 배열을 원한다. 이걸 위해 내가 뭘해야 할까? 제발 –

+0

@ ahsanasha07'값 배열을 인덱스로 얻는다 '는게 무슨 뜻입니까? 배열의 특정 위치에 값을 가져 오려면'p.getValues ​​(). get (position) '을 수행하십시오. – joao86

+0

예, 배열의 특정 위치에서 값을 가져 오려고합니다. p.getValues ​​()를 시도해보십시오. get (position)이 작동하지 않습니다. –

0
protected void onPostExecute (String result){ 
    try { 
    JSONObject json = new JSONObject(result); 
    JSONObject resp = json.getJSONObject("response"); 
JSONArray jarr = resp.getJSONArray("values"); 
    tv.setText(jarr.get(0).toString(1)); 
    }catch (JSONException e){ 
    e.printStackTrace(); 
    } 
    } 
+0

아직도 작동하지 않습니다. –

+0

감사합니다, 지금 일하고 있습니다. 난 그냥 tv.setText (jarr.get (0) .toStirng (1)); ~ 에 tv.setText (jarr.get (0) .toString()); done –

+0

도움이된다면 나를 투표 할 수 있습니다. 또는 답변을 표시하십시오. –

관련 문제