2016-03-31 16 views
0

アプリケーションの実行中にこれらのエラーが発生します。 このエラーの解決方法を教えてください。 はここでLogcatが出文字列の値をJSONArrayに変換できません

org.json.JSONException: Value [{"id":2,"username":"myusername","name":"myname","email":"myemail","password":"mypassword","groupid":1,"type":"mytype"},{"id":3,"username":"myusername","name":"myname","email":"myemail2","password":"mypassword2","groupid":1,"type":"mytype"},{"id":4,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"type1"},{"id":5,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"type1"},{"id":6,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"type1"},{"id":7,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"type1"},{"id":8,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"type1"},{"id":9,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"type1"},{"id":10,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"type1"},{"id":11,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"1"},{"id":12,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"type1"},{"id":13,"username":"yuwah","name":"yu","email":"[email protected]","password":"pass1","groupid":1,"type":"type1"},{"id":14,"username":"myusername","name":"myname","email":"myemail2","password":"mypassword2","groupid":1,"type":"mytype"}] at listUsers of type java.lang.String cannot be converted to JSONArray 

を入れて私のコードブロックは、私はアンドロイドの初心者です

public class MainActivity extends ListActivity { 

// URL to get contacts JSON 
private static String url = "http://staging.workberryplus.com/mobile/listUsers/1"; 

// JSON Node names 
private static final String TAG_USERLIST = "listUsers"; 
private static final String TAG_ID = "id"; 
private static final String TAG_NAME = "name"; 
private static final String TAG_EMAIL = "email"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    // Calling async task to get json 
    new GetUsers().execute(); 
} 

/** 
* Async task class to get json by making HTTP call 
*/ 
private class GetUsers extends AsyncTask<Void, Void, Void> { 

    // Hashmap for ListView 
    ArrayList<HashMap<String, String>> userList; 
    ProgressDialog pDialog; 

    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     // Showing progress dialog 
     pDialog = new ProgressDialog(MainActivity.this); 
     pDialog.setMessage("Please wait..."); 
     pDialog.setCancelable(false); 
     pDialog.show(); 
    } 

    @Override 
    protected Void doInBackground(Void... arg0) { 
     // Creating service handler class instance 
     WebRequest webreq = new WebRequest(); 

     // Making a request to url and getting response 
     String jsonStr = webreq.makeWebServiceCall(url, WebRequest.GET); 


     //Log.d("Response: ", "> " + jsonStr); 

     userList = ParseJSON(jsonStr); 

     return null; 
    } 

    @Override 
    protected void onPostExecute(Void result) { 
     super.onPostExecute(result); 
     // Dismiss the progress dialog 
     if (pDialog.isShowing()) 
      pDialog.dismiss(); 
     /** 
     * Updating parsed JSON data into ListView 
     * */ 
     ListAdapter adapter = new SimpleAdapter(
       MainActivity.this, userList, 
       R.layout.list_users, new String[]{TAG_NAME, TAG_EMAIL 
     }, new int[]{R.id.name, 
       R.id.email}); 

     setListAdapter(adapter); 
    } 

} 

private ArrayList<HashMap<String, String>> ParseJSON(String json) { 
    if (json != null) { 
     try { 
      // Hashmap for ListView 
      ArrayList<HashMap<String, String>> userList = new ArrayList<HashMap<String, String>>(); 

      JSONObject jsonObj = new JSONObject(json); 

      // Getting JSON Array node 
      JSONArray students = jsonObj.getJSONArray(TAG_USERLIST); 

      // looping through All Users 
      for (int i = 0; i < students.length(); i++) { 
       JSONObject c = students.getJSONObject(i); 

       String id = c.getString(TAG_ID); 
       String name = c.getString(TAG_NAME); 
       String email = c.getString(TAG_EMAIL); 

       // tmp hashmap for single user 
       HashMap<String, String> user = new HashMap<String, String>(); 

       // adding each child node to HashMap key => value 
       user.put(TAG_ID, id); 
       user.put(TAG_NAME, name); 
       user.put(TAG_EMAIL, email); 
       //student.put(TAG_PHONE_MOBILE, mobile); 

       // adding users to users list 
       userList.add(user); 
      } 
      return userList; 
     } catch (JSONException e) { 
      e.printStackTrace(); 
      return null; 
     } 
    } else { 
     Log.e("ServiceHandler", "Couldn't get any data from the url"); 
     return null; 
    } 
} 

}

です。このエラーを解決する方法を教えてください。私はGoogleで検索していますが、私はこのエラーを解決することはできません。私の悪い英語のために申し訳ありません。 全体logcatアウトうち

> 03-31 04:12:01.468 3072-3250/com.nhn.userslist W/System.err: org.json.JSONException: Value [{"id":1,"username":"Nan Oo","name":"nanoo","email":"[email protected]","password":"nanoo","groupid":1,"type":"type1"},{"id":2,"username":"myusername","name":"myname","email":"myemail","password":"mypassword","groupid":1,"type":"mytype"},{"id":3,"username":"myusername","name":"myname","email":"myemail2","password":"mypassword2","groupid":1,"type":"mytype"},{"id":4,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"type1"},{"id":5,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"type1"},{"id":6,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"type1"},{"id":7,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"type1"},{"id":8,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"type1"},{"id":9,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"type1"},{"id":10,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"type1"},{"id":11,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"1"},{"id":12,"username":"username1","name":"name1","email":"email1","password":"pass1","groupid":1,"type":"type1"},{"id":13,"username":"yuwah","name":"yu","email":"[email protected]","password":"pass1","groupid":1,"type":"type1"},{"id":14,"username":"myusername","name":"myname","email":"myemail2","password":"mypassword2","groupid":1,"type":"mytype"}] at listUsers of type java.lang.String cannot be converted to JSONArray 
    03-31 04:12:01.469 3072-3250/com.nhn.userslist W/System.err:  at org.json.JSON.typeMismatch(JSON.java:100) 
    03-31 04:12:01.469 3072-3250/com.nhn.userslist W/System.err:  at org.json.JSONObject.getJSONArray(JSONObject.java:588) 
    03-31 04:12:01.469 3072-3250/com.nhn.userslist W/System.err:  at com.nhn.userslist.MainActivity.ParseJSON(MainActivity.java:103) 
    03-31 04:12:01.469 3072-3250/com.nhn.userslist W/System.err:  at com.nhn.userslist.MainActivity.access$200(MainActivity.java:19) 
    03-31 04:12:01.469 3072-3250/com.nhn.userslist W/System.err:  at com.nhn.userslist.MainActivity$GetUsers.doInBackground(MainActivity.java:69) 
    03-31 04:12:01.469 3072-3250/com.nhn.userslist W/System.err:  at com.nhn.userslist.MainActivity$GetUsers.doInBackground(MainActivity.java:42) 
    03-31 04:12:01.469 3072-3250/com.nhn.userslist W/System.err:  at android.os.AsyncTask$2.call(AsyncTask.java:292) 
    03-31 04:12:01.469 3072-3250/com.nhn.userslist W/System.err:  at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
    03-31 04:12:01.469 3072-3250/com.nhn.userslist W/System.err:  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
    03-31 04:12:01.469 3072-3250/com.nhn.userslist W/System.err:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
    03-31 04:12:01.469 3072-3250/com.nhn.userslist W/System.err:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
    03-31 04:12:01.469 3072-3250/com.nhn.userslist W/System.err:  at java.lang.Thread.run(Thread.java:818) 
    03-31 04:12:01.873 3072-3072/com.nhn.userslist D/AndroidRuntime: Shutting down VM 
    03-31 04:12:01.873 3072-3072/com.nhn.userslist E/AndroidRuntime: FATAL EXCEPTION: main 
                  Process: com.nhn.userslist, PID: 3072 
                  java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()' on a null object reference 
                   at android.widget.SimpleAdapter.getCount(SimpleAdapter.java:93) 
                   at android.widget.ListView.setAdapter(ListView.java:487) 
                   at android.app.ListActivity.setListAdapter(ListActivity.java:265) 
                   at com.nhn.userslist.MainActivity$GetUsers.onPostExecute(MainActivity.java:89) 
                   at com.nhn.userslist.MainActivity$GetUsers.onPostExecute(MainActivity.java:42) 
                   at android.os.AsyncTask.finish(AsyncTask.java:636) 
                   at android.os.AsyncTask.access$500(AsyncTask.java:177) 
                   at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:653) 
                   at android.os.Handler.dispatchMessage(Handler.java:102) 
                   at android.os.Looper.loop(Looper.java:135) 
                   at android.app.ActivityThread.main(ActivityThread.java:5254) 
                   at java.lang.reflect.Method.invoke(Native Method) 
                   at java.lang.reflect.Method.invoke(Method.java:372) 
                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 
                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 
    03-31 04:12:09.386 3072-3072/com.nhn.userslist I/Process: Sending signal. PID: 3072 SIG: 9 

あり、JSON値を使用して、応答を取得しており、ヨーヨーは取得せずに直接オブジェクトを消費しているJSONレスポンス[配列{オブジェクト}]方法1として

[{ 
    "id": 2, 
    "username": "myusername", 
    "name": "myname", 
    "email": "myemail", 
    "password": "mypassword", 
    "groupid": 1, 
    "type": "mytype" 
}, { 
    "id": 3, 
    "username": "myusername", 
    "name": "myname", 
    "email": "myemail2", 
    "password": "mypassword2", 
    "groupid": 1, 
    "type": "mytype" 
}, { 
    "id": 4, 
    "username": "username1", 
    "name": "name1", 
    "email": "email1", 
    "password": "pass1", 
    "groupid": 1, 
    "type": "type1" 
}, { 
    "id": 5, 
    "username": "username1", 
    "name": "name1", 
    "email": "email1", 
    "password": "pass1", 
    "groupid": 1, 
    "type": "type1" 
}, { 
    "id": 6, 
    "username": "username1", 
    "name": "name1", 
    "email": "email1", 
    "password": "pass1", 
    "groupid": 1, 
    "type": "type1" 
}, { 
    "id": 7, 
    "username": "username1", 
    "name": "name1", 
    "email": "email1", 
    "password": "pass1", 
    "groupid": 1, 
    "type": "type1" 
}, { 
    "id": 8, 
    "username": "username1", 
    "name": "name1", 
    "email": "email1", 
    "password": "pass1", 
    "groupid": 1, 
    "type": "type1" 
}, { 
    "id": 9, 
    "username": "username1", 
    "name": "name1", 
    "email": "email1", 
    "password": "pass1", 
    "groupid": 1, 
    "type": "type1" 
}, { 
    "id": 10, 
    "username": "username1", 
    "name": "name1", 
    "email": "email1", 
    "password": "pass1", 
    "groupid": 1, 
    "type": "type1" 
}, { 
    "id": 11, 
    "username": "username1", 
    "name": "name1", 
    "email": "email1", 
    "password": "pass1", 
    "groupid": 1, 
    "type": "1" 
}, { 
    "id": 12, 
    "username": "username1", 
    "name": "name1", 
    "email": "email1", 
    "password": "pass1", 
    "groupid": 1, 
    "type": "type1" 
}, { 
    "id": 13, 
    "username": "yuwah", 
    "name": "yu", 
    "email": "[email protected]", 
    "password": "pass1", 
    "groupid": 1, 
    "type": "type1" 
}, { 
    "id": 14, 
    "username": "myusername", 
    "name": "myname", 
    "email": "myemail2", 
    "password": "mypassword2", 
    "groupid": 1, 
    "type": "mytype" 
}] 
+2

[mcve]を提供でき、正確なスタックトレースを 'json'の値とともに表示すると役に立ちます。現時点でどのラインが故障しているのかはわかりません。 Androidの代わりにコンソールアプリケーションを作成することをおすすめします。そのようなことを診断する方がはるかに簡単です。 –

+0

あなたのエラーは、 'TAG_USERLIST json'が文字列を返すので、' TAG_USERLIST'を 'JSONArray'として取得しようとすると無効であると述べています。 'JSON'レスポンスを再確認してください。 – ekouChiq

+1

それは無効なjsonだ、あなたはhttp://www.jsonparseronline.com/であなたのjsonを投稿することができます –

答えて

1

あります配列

ご理解ください。

+0

はい私はそれを解決していただきありがとうございます –

関連する問題