2017-12-11 2 views
-2

두 개체가 포함 된 JSON 파일이 있습니다. 이 파일은 서버 측에 있습니다.JSON 구문 분석 문자열?

[{ "PARAM1": "시장"}, { "PARAM2": "당신"}]

나는 이러한 개체를 구문 분석 할 내 문자열 PARAM1로 설정, PARAM2

private String param1 = null; 
private String param2 = null; 

코딩 방법을 이해할 수 없습니다. 이를위한 샘플 코드를 제공해주십시오.

+0

@Dalton 나는 구문 분석하는 방법을 알고하지 않았다. 당신이 작성한 링크는 "JSON 문자열을 코드별로 얻었습니다."라고 묻는 질문을했습니다. – jancooth

답변

0
[ {"param1":"market"}, {"param2":"you"} ] 

대괄호는 응답이 JSON 배열로 시작한다는 것을 보여줍니다. 따라서 JSON 배열에서 JSON 객체의 값을 찾을 수 있도록 JSON 배열의 키 이름을 가져야합니다.

+0

샘플 코드를 줄 수 있습니까? 나는 안드로이드의 뉴비 개발입니다. – jancooth

+0

[JSON 구문 분석 자습서] (https://www.androidhive.info/2012/01/android-json-parsing-tutorial/), 이것이 도움이되기를 바랍니다. –

0

그래서 당신은 당신이 전화에서 얻을 jsonStr를 사용

public String makeServiceCall(String reqUrl) { 
     String response = null; 
     try { 
      URL url = new URL(reqUrl); 
      HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
      conn.setRequestMethod("GET"); 
      InputStream in = new BufferedInputStream(conn.getInputStream()); 
      response = convertStreamToString(in); 
     } catch (MalformedURLException e) { 
      Log.e(TAG, "MalformedURLException: " + e.getMessage()); 
     } catch (ProtocolException e) { 
      Log.e(TAG, "ProtocolException: " + e.getMessage()); 
     } catch (IOException e) { 
      Log.e(TAG, "IOException: " + e.getMessage()); 
     } catch (Exception e) { 
      Log.e(TAG, "Exception: " + e.getMessage()); 
     } 
     return response; 
    } 

다음 JSON의 STR을 URL을 전달하고 점점하여 jsonString는이 같은 서비스 전화를 걸 수 있습니다 얻기 위해 서버를 호출해야 이렇게.

String jsonStr = makeServiceCall(String reqUrl); 
JSONArray jsonArr= new JSONArray(jsonStr); 
JSONObject jsonObjectOne = jsonArr.getJSONObject(0); 
String param1 = jsonObjectOne.getString("param1"); 
JSONObject jsonObjectTwo = jsonArr.getJSONObject(1); 
String param2 = jsonObjectTwo.getString("param2"); 
+0

jsonStr이 서버 측에 있습니다. txt 파일에 보관합니다. 코드를 수정할 수 있습니까? – jancooth

+0

답변이 도움이 될 수 있도록 수정되었습니다. –

0
String string = "[ {"param1":"market"}, {"param2":"you"} ]" 

JSONArray arr = new JSONArray(string); 

JSONObject firstPart = arr.getJSONObject(0); 

JSONObject secondPart = arr.getJSONObject(1); 

firstPart.getString("param1"); 
secondPart.getString("param2"); 
+0

내 개체가 서버쪽에 있습니다. txt 파일에 보관합니다. 코드를 수정할 수 있습니까? – jancooth

+0

이 코드는 문자열이거나 이미 JSONArray 인 것 같습니다. 첫 번째 코드 인 경우 코드를 작성한 것과 같습니다. 두 번째 경우에는 처음 두 줄만 삭제하면됩니다. –