Android读取json返回 - 选择计数结果 - 导致错误

I got a problem on an android based with php result.
I tried to receive a SQL query result of count, and the result is pushed out as JSON data like the following result.

[{"count":"1"}]

And then this result will be get into the android with AsyncTask. I expected the count result should be received successfully and then display on a listview.
However, it seems to be returning null rather then getting the count number in the following code.

 private class GetJsonLike extends AsyncTask<Integer, Void, String> {


    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected String doInBackground(Integer... params) {
        String uri = JSON_URL4 + params[0];
        Log.d("GET JSON", uri);
        BufferedReader bufferedReader = null;
        try {
            URL url = new URL(uri);
            HttpURLConnection con = (HttpURLConnection) url.openConnection();
            StringBuilder sb = new StringBuilder();

            bufferedReader = new BufferedReader(new InputStreamReader(con.getInputStream()));

            String json;
            while ((json = bufferedReader.readLine()) != null) {
                sb.append(json + "
");
            }
            return sb.toString().trim();
        } catch (Exception e) {
            return null;
        }

    }

    @Override
    protected void onPostExecute(String s) {
        List<Like> dbData = new ArrayList<>();
        try {
            JSONArray array = new JSONArray(s);

            for (int n = 0; n < array.length(); n++) {
                JSONObject jObject = array.getJSONObject(n);
                Like like = new Like(jObject.getLong("count"));
                dbData.add(like);


                likeSt[1] = likeSt[1].concat("Username:" + like.getLikeNum() + "\b\b" + "Time:");

                ArrayList<String> likeList = new ArrayList<String>();
                likeList.addAll(Arrays.asList(likeSt));
                lv_likeAdapter = new ArrayAdapter<String>(DetailActivity.this, R.layout.list1, likeList);
                lv_like.setAdapter(lv_likeAdapter);

            }

        } catch (JSONException e) {
            e.printStackTrace();
        }
    }


}

I suppose it's due to StringBuilder sb is returning a null and cause a crash.
But I don't know why it is returning a null and not getting the data.
Since, this block of code can successfully get other php data like the following JSON data which is not count result type.

[{"userName":"Zero","cmDetail":"test002","cmTime":"2016-05-06 19:41:56"},{"userName":"Zero","cmDetail":"test001","cmTime":"2016-05-06 19:41:13"},{"userName":"Zero","cmDetail":"1234","cmTime":"2016-05-06 19:40:25"}]

Seeking for advice to cope with this count problem! Thank you!

PS: I declared the variable for containing the count result is long, int was tried before but seems not working too.

Additional Info. of Logcat thx for reminding me :D

05-07 14:20:36.592 30508-30508/? E/AndroidRuntime: FATAL EXCEPTION: main
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime: Process: bhouse.travellist, PID: 30508
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime:     at org.json.JSONTokener.nextCleanInternal(JSONTokener.java:116)
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime:     at org.json.JSONTokener.nextValue(JSONTokener.java:94)
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime:     at org.json.JSONArray.<init>(JSONArray.java:92)
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime:     at org.json.JSONArray.<init>(JSONArray.java:108)
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime:     at bhouse.travellist.DetailActivity$GetJsonLike.onPostExecute(DetailActivity.java:540)
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime:     at bhouse.travellist.DetailActivity$GetJsonLike.onPostExecute(DetailActivity.java:505)
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime:     at android.os.AsyncTask.finish(AsyncTask.java:651)
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime:     at android.os.AsyncTask.access$500(AsyncTask.java:180)
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime:     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:668)
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:102)
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:224)
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5514)
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method)
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
05-07 14:20:36.592 30508-30508/? E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)