2016-08-20 93 views
0

我有一個項目,我試圖將數據從JSON數組傳遞到正常數組。但我不能這樣做。如果您知道我的項目中添加了哪些代碼和哪些代碼,您能幫助我嗎?我的主要活動文件在這裏如何在JAVA中添加一個JSON數據到數組

public class MainActivity extends AppCompatActivity { 

private TextView tvData; 
private String[] stringArray; 
protected ActionBarDrawerToggle mDrawerToggle; 
private DrawerLayout mDrawerLayout; 
private NavigationView mNavigationView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    tvData = (TextView)findViewById(R.id.bilgi); 
    setupToolbar(); 
    initNavigationDrawer(); 
    new JSONTask().execute("http://192.168.1.36:8080/urunler/kategori_goster.php"); 

} 

public class JSONTask extends AsyncTask<String,String,String> 

{ 
    @Override 
    protected String doInBackground(String... params) { 
     HttpURLConnection connection = null; 
     BufferedReader reader = null; 
     try { 
      URL url = new URL(params[0]); 
      connection = (HttpURLConnection) url.openConnection(); 
      connection.connect(); 
      InputStream stream = connection.getInputStream(); 
      reader = new BufferedReader(new InputStreamReader(stream)); 
      StringBuffer buffer = new StringBuffer(); 
      String line=""; 
      while((line = reader.readLine()) != null){ 
       buffer.append(line); 
      } 
      String finalJson = buffer.toString(); 
      JSONObject parentObject = new JSONObject(finalJson); 
      JSONArray parrentArray = parentObject.getJSONArray("uyelerimiz"); 
      StringBuffer finalBufferedData = new StringBuffer(); 
      for(int i=0;i<parrentArray.length(); i++) 
      { 
       JSONObject finalObject = parrentArray.getJSONObject(i); 
       String year = finalObject.getString("kategori_adi"); 
       finalBufferedData.append(year + " \n"); 
      } 

      return finalBufferedData.toString(); 

     } catch (MalformedURLException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } finally { 
      if(connection !=null) 
      { 
       connection.disconnect(); 
      } 

      try { 
       if(reader !=null) 
       { 
        reader.close(); 
       } 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 
     } 
     return null; 
    } 
    @Override 
    protected void onPostExecute(String result) { 
     super.onPostExecute(result); 

     tvData.setText(result); 

    } 
} 

JSON正在運行沒有任何問題。我想將我的JSON數據添加到我的「private String [] stringArray;」

這裏是JSON是如何被格式化:

{ 
    "uyelerimiz":[ 
     { 
     "kategori_adi":"Bilgisayar" 
     }, 
     { 
     "kategori_adi"   ‌​:"Cep Telefonu" 
     }, 
     { 
     "kategori_adi":"Saglik" 
     }, 
     { 
     "kategori_adi":"Kirtas‌​iye" 
     } 
    ] 
} 
+0

{ 「uyelerimiz」:[{ 「kategori_adi」: 「Bilgisayar」},{ 「kategori_adi」: 「切普Telefonu」},{」 kategori_adi「:」Saglik「},{」kategori_adi「:」Kirtasiye「}]}像這樣。 –

+0

你可以在這裏發送代碼嗎?它會如何? –

回答

0
private String[] parseJson(String response){ 
    try { 
     JSONObject lJsonObject = new JSONObject(response); 
     JSONArray lJsonArray = lJsonObject.getJSONArray("uyelerimiz"); 
     String[] lResult = new String[lJsonArray.length()]; 
     for (int index = 0;index<lJsonArray.length();index++){ 
      lResult[index] = lJsonArray.getJSONObject(index).getString("kategori_adi"); 
     } 
     return lResult; 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
    return null; 
} 
+0

我怎麼稱呼這個功能?我想定義「private String [] stringArray;」 –

+0

如果我的JSON STRIG是這樣的:{ 「uyelerimiz」:[{ 「ID」: 「1」 「kategori_adi」: 「Bilgisayar」 },{ 「ID」: 「2」 「kategori_adi」 : 「切普Telefonu」 },{ 「ID」: 「3」 「kategori_adi」: 「Saglik的」 },{ 「ID」: 「4」 「kategori_adi」: 「Kirtas耶」 } ] }我們在代碼中會改變什麼? –

相關問題