【问题标题】:Putting data from server into a string array将来自服务器的数据放入字符串数组
【发布时间】:2014-04-09 05:04:28
【问题描述】:

我正在从服务器的数组中获取数据。现在我想将接收到的数据(用户名)放入一个字符串数组中。我不知道将数据放入字符串数组中。

代码:-

                 JSONObject jo = new JSONObject(data);
                Log.d("response", jo.toString(4));
                JSONArray jArray = jo.getJSONArray("driver_details");  
                    for (int i=0; i < jArray.length(); i++)
                    {
                        System.out.println("please print my name...for....");
                        try {
                                JSONObject jsob = jArray.getJSONObject(i);
                                // Pulling items from the array
                                 mfname = jsob.getString("first_name");
                                                }
                                          }

【问题讨论】:

  • 使用arrayName.add(mfname)
  • 显示来自服务器端的数据..
  • 你想把数据放到 String[] 数组还是 ArrayList ??

标签: android arrays string


【解决方案1】:

您有多种选择。一种是使用 String[] 或 ArrayList();

JSONObject jo = new JSONObject(data);

     Log.d("response", jo.toString(4));

      JSONArray jArray = jo.getJSONArray("driver_details");  

       String[] names = new String[jArray.length()];

        for (int i=0; i < jArray.length(); i++)
         {
              System.out.println("please print my name...for....");
               try {


                        JSONObject jsob = jArray.getJSONObject(i);
                         // Pulling items from the array
                         mfname = jsob.getString("first_name");
                                 names[i] = mfname;
                                                     }
                                                   }

你也可以使用 ArrayList():

List<String> names= new ArrayList<String>();
....
names.add(mfname);

【讨论】:

    【解决方案2】:

    试试这个..

    对于字符串数组

    String[] array_items = new String[jArray.length()];
    for (int i=0; i < jArray.length(); i++)
    {
          try{
                 JSONObject jsob = jArray.getJSONObject(i);
                 array_items[i] = jsob.getString("first_name");
             } catch (JSONException e) {
                 e.printStackTrace();
             }
    }
    

    对于字符串数组列表

       ArrayList<String> arraylist_items = new ArrayList<String>();
       for (int i=0; i < jArray.length(); i++)
        {
              try{
                     JSONObject jsob = jArray.getJSONObject(i);
                     arraylist_items.add(jsob.getString("first_name"));
                 }catch (JSONException e) {
                     e.printStackTrace();
                 }
        }
    

    【讨论】:

      【解决方案3】:

      试试下面的代码:

      对于数组列表:

      JSONObject jo = new JSONObject(data);

      JSONArray jArray = jo.getJSONArray("driver_details");  
      ArrayList<String> users = new ArrayList<String>();
      
       for (int i=0; i < jArray.length(); i++)
          {
           try {
      
                JSONObject jsob = jArray.getJSONObject(i);
                 String mfname = jsob.getString("first_name");
                 users.add(mfname);
                 }
                 catch (JSONException e) {
                  e.printStackTrace();
                 }
          }
      

      对于字符串数组:

      JSONObject jo = new JSONObject(data);
      
      JSONArray jArray = jo.getJSONArray("driver_details");  
      String[] users = new String[jArray.length()];
      
       for (int i=0; i < jArray.length(); i++)
          {
           try {
      
                JSONObject jsob = jArray.getJSONObject(i);
                 String mfname = jsob.getString("first_name");
                 users[i] = mfname;
                 }
                 catch (JSONException e) {
                  e.printStackTrace();
                 }
          }
      

      【讨论】:

      • 感谢您的回答,但我想要字符串数组而不是 ArrayList 。
      猜你喜欢
      • 2011-08-14
      • 2014-10-05
      • 1970-01-01
      • 2014-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-19
      • 1970-01-01
      相关资源
      最近更新 更多