Android java.lang.NullPointerException无法填充listview
我试图用json中的一些数据填充listview 以下是我得到的错误:Android java.lang.NullPointerException无法填充listview,java,android,json,eclipse,listview,Java,Android,Json,Eclipse,Listview,我试图用json中的一些数据填充listview 以下是我得到的错误: 04-17 12:54:25.573: E/JSON Parser(1169): Error parsing data org.json.JSONException: of type org.json.JSONArray cannot be converted to JSONObject 04-17 12:54:26.223: E/AndroidRuntime(1169): FATAL EXCEPTION: main 04-
04-17 12:54:25.573: E/JSON Parser(1169): Error parsing data org.json.JSONException:
of type org.json.JSONArray cannot be converted to JSONObject
04-17 12:54:26.223: E/AndroidRuntime(1169): FATAL EXCEPTION: main
04-17 12:54:26.223: E/AndroidRuntime(1169): Process: com.example.mysqltest, PID: 1169
04-17 12:54:26.223: E/AndroidRuntime(1169): java.lang.NullPointerException
04-17 12:54:26.223: E/AndroidRuntime(1169): at com.example.mysqltest.PropertyView$JSONParseP.onPostExecute(PropertyView.java:95)
04-17 12:54:26.223: E/AndroidRuntime(1169): at com.example.mysqltest.PropertyView$JSONParseP.onPostExecute(PropertyView.java:1)
04-17 12:54:26.223: E/AndroidRuntime(1169): at android.os.AsyncTask.finish(AsyncTask.java:632)
04-17 12:54:26.223: E/AndroidRuntime(1169): at android.os.AsyncTask.access$600(AsyncTask.java:177)
04-17 12:54:26.223: E/AndroidRuntime(1169): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
04-17 12:54:26.223: E/AndroidRuntime(1169): at android.os.Handler.dispatchMessage(Handler.java:102)
04-17 12:54:26.223: E/AndroidRuntime(1169): at android.os.Looper.loop(Looper.java:136)
04-17 12:54:26.223: E/AndroidRuntime(1169): at android.app.ActivityThread.main(ActivityThread.java:5017)
04-17 12:54:26.223: E/AndroidRuntime(1169): at java.lang.reflect.Method.invokeNative(Native Method)
04-17 12:54:26.223: E/AndroidRuntime(1169): at java.lang.reflect.Method.invoke(Method.java:515)
04-17 12:54:26.223: E/AndroidRuntime(1169): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
04-17 12:54:26.223: E/AndroidRuntime(1169): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
04-17 12:54:26.223: E/AndroidRuntime(1169): at dalvik.system.NativeStart.main(Native Method)
这是我的Java文件
JSONArray array = null
public void onClick(View view)
new JSONParseP().execute()
private class JSONParseP extends AsyncTask<String, String, JSONObject>
protected JSONObject doInBackground(String... args)
JSONParserP jParser = new JSONParserP();
// Getting JSON from URL
JSONObject json = jParser.getJSONFromUrlP(url);
return json;
protected void onPostExecute(JSONObject json)
pDialog.dismiss();
try {
// Getting JSON Array from URL
array = json.getJSONArray(null);
for(int i = 0; i < array.length(); i++){
JSONObject c = array.getJSONObject(i);
JSONArray数组=null
公共void onClick(视图)
新的JSONParseP().execute()
私有类JSONParseP扩展了AsyncTask
受保护的JSONObject doInBackground(字符串…args)
JSONParserP jParser=新的JSONParserP();
//从URL获取JSON
JSONObject json=jParser.getJSONFromUrlP(url);
返回json;
受保护的void onPostExecute(JSONObject json)
pDialog.disclose();
试一试{
//从URL获取JSON数组
array=json.getJSONArray(null);
对于(int i=0;i
任何帮助我都将不胜感激
谢谢。尝试将
JSONObject c=array.getJSONObject(i);
更改为JSONArray c=array.getJSONArray(i);
哪一行是属性视图的第95行array=json.getJSONArray(null)
您正在寻找的JSONArray的名称是什么?请向我们展示onPostExecute
-方法的完整代码,包括您的try-catch块和导致NPE的行。我看不出这有什么帮助。例如:可能变量数组为null
。OP尚未显示足够的信息(NPE行)。我应该使用什么方法获取字符串?04-17 12:54:25.573:E/JSON解析器(1169):错误解析数据org.JSON.JSONException:类型org.JSON.JSONArray无法转换为JSONObject这意味着他试图将JSON数组读入JSON对象,因为他没有指出它是哪一行,我试图猜测