2017-12-11 15 views
-2

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 Parsing Tutorial](https://www.androidhive.info/2012/01/android-json-parsing-tutorial/)、これがあなたに役立つことを願っています。 –

0

ので、あなたがURLを渡し、その後、あなたが呼び出しから取得jsonStrを使用したJSON STRに

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; 
    } 

を取得することによって、このようなサービスの呼び出しを行うことができます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のようです(最初のコードの場合は、私が書いたコードのようになります)。 2番目の場合は、最初の2行だけを削除します。 –