2017-11-07 12 views
-3

これは簡単すぎるかもしれませんが、これに対する解決策を見つけることができません。 JSONオブジェクトからstringarrayを直接解析するにはどうすればよいですか?例えばJSONオブジェクトからの文字列配列の解析

json = {"names":["John", "Alex", "David"]} 

それはstringarrayを返さないので、私はjson.getJSONArray("names")を行うことはできません。

+0

この機能を試してみてください私の答えを確認してください。 –

+0

[Android JSONを解析する方法は?](https://stackoverflow.com/questions/6674939/android-json-parse-this-how)またはthis :: https://stackoverflow.com/questions/ 43529022/android-json-parse – Barns

+0

[JSONを解析する方法]の複製があります(https://stackoverflow.com/questions/2591098/how-to-parse-json) – KeLiuyue

答えて

2

あなたはこのバディを試してみてください、この私の友人

try 
{ 

    JSONObject jsonObj = new JSONObject("Your json string"); 
    JSONArray jsonArray = jsonObj .getJSONArray("names"); 

    for(int i=0;i<jsonArray .length();i++) 
    { 
     String name= jsonArray.getString(i); 
     Log.i("..........",""+name); 
     // loop and add it to array or arraylist 
    } 
}catch(Exception e) 
{ 
     e.printStackTrace(); 
} 
0

リストに作成するために、それを介してJSON配列などのデータとループを得ることができ、あなたが取得します結果は文字列の配列になります。

String json = "{\"names\":[\"John\", \"Alex\", \"David\"]}"; 
    JSONObject jsonObject = new JSONObject(json); 
    JSONArray jsonArray = jsonObject.getJSONArray("names"); 
    List<String> list = new ArrayList<String>(); 
    for (int i = 0; i < jsonArray.length(); i++) { 
     list.add(jsonArray.getString(i)); 
    } 
    String[] stringArray = list.toArray(new String[list.size()]); 
0

を試すことができます

JSONObject jsonObject = new JSONObject("{names:['1','2','3']}"); 
JSONArray jsonArray = jsonObject.getJSONArray("names"); 

List<String> names = new ArrayList<String>(); 
for(int i = 0; i < jsonArray.length(); i++){ 
    names.add(jsonArray.getString(i)); 
} 
System.out.println(names); 
0

public void ParseJsonArray(json){ 
try { 
//if you have 1 column in json array 
     JSONArray jsonArray = json.getJSONArray("names"); 
     int count = 0; 

//if you have more columns  
     while (count<jsonArray.length()){ 

      JSONObject JO = jsonArray.getJSONObject(count); 
      String s1 = JO.getString("column1"); 
      String s2 = JO.getString("column2"); 
      String s3 = JO.getString("column3");   
      count++;  }`` 

    String StrFinal = jsonArray; 

    } catch (JSONException e) { 
     e.printStackTrace(); } 
    } 
関連する問題