一个JSON文件我有一个JSON文件看起来像这样我对Android和JSON解析都很陌生。所以,请你能检查一下我解析这种JSON的进展。这里是我的功能是:解析在Android应用程序
@SuppressWarnings("null")
public String[] parseJSON(String URL)
{
String[] finals = null;
JSONArray results = null;
String TAG_RESULTS = "d";
// Creating JSON Parser instance
JSONParser jParser = new JSONParser();
// getting JSON string from URL
JSONObject json = jParser.getJSONFromUrl(URL);
try {
results = json.getJSONArray(TAG_RESULTS);
JSONArray tenResults = results.getJSONArray(0);
for(int i = 0; i < tenResults.length(); i++){
JSONArray c = tenResults.getJSONArray(i);
String content = c.toString();
content.substring(content.indexOf("\\u003Cb\\u003E ")+"\\u003Cb\\u003E ".length(), content.indexOf("\\u003C\\/b"));
finals[i] = content;
}
} catch (JSONException e) {
e.printStackTrace();
}
return finals;
}
我试图调试应用程序,但我不能因为一些源文件丢失的错误,我不能做的意义伸入try块。据我所见,它成功创建JSONParser
对象。
编辑: logcat的
05-07 12:17:02.562: E/AndroidRuntime(6007): FATAL EXCEPTION: main
05-07 12:17:02.562: E/AndroidRuntime(6007): java.lang.IllegalStateException: Could not execute method of the activity
05-07 12:17:02.562: E/AndroidRuntime(6007): at android.view.View$1.onClick(View.java:3597)
05-07 12:17:02.562: E/AndroidRuntime(6007): at android.view.View.performClick(View.java:4202)
05-07 12:17:02.562: E/AndroidRuntime(6007): at android.view.View$PerformClick.run(View.java:17340)
05-07 12:17:02.562: E/AndroidRuntime(6007): at android.os.Handler.handleCallback(Handler.java:725)
05-07 12:17:02.562: E/AndroidRuntime(6007): at android.os.Handler.dispatchMessage(Handler.java:92)
05-07 12:17:02.562: E/AndroidRuntime(6007): at android.os.Looper.loop(Looper.java:137)
05-07 12:17:02.562: E/AndroidRuntime(6007): at android.app.ActivityThread.main(ActivityThread.java:5039)
05-07 12:17:02.562: E/AndroidRuntime(6007): at java.lang.reflect.Method.invokeNative(Native Method)
05-07 12:17:02.562: E/AndroidRuntime(6007): at java.lang.reflect.Method.invoke(Method.java:511)
05-07 12:17:02.562: E/AndroidRuntime(6007): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-07 12:17:02.562: E/AndroidRuntime(6007): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-07 12:17:02.562: E/AndroidRuntime(6007): at dalvik.system.NativeStart.main(Native Method)
05-07 12:17:02.562: E/AndroidRuntime(6007): Caused by: java.lang.reflect.InvocationTargetException
05-07 12:17:02.562: E/AndroidRuntime(6007): at java.lang.reflect.Method.invokeNative(Native Method)
05-07 12:17:02.562: E/AndroidRuntime(6007): at java.lang.reflect.Method.invoke(Method.java:511)
05-07 12:17:02.562: E/AndroidRuntime(6007): at android.view.View$1.onClick(View.java:3592)
05-07 12:17:02.562: E/AndroidRuntime(6007): ... 11 more
05-07 12:17:02.562: E/AndroidRuntime(6007): Caused by: android.os.NetworkOnMainThreadException
05-07 12:17:02.562: E/AndroidRuntime(6007): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
05-07 12:17:02.562: E/AndroidRuntime(6007): at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
05-07 12:17:02.562: E/AndroidRuntime(6007): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
05-07 12:17:02.562: E/AndroidRuntime(6007): at java.net.InetAddress.getAllByName(InetAddress.java:214)
05-07 12:17:02.562: E/AndroidRuntime(6007): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137)
05-07 12:17:02.562: E/AndroidRuntime(6007): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
05-07 12:17:02.562: E/AndroidRuntime(6007): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
05-07 12:17:02.562: E/AndroidRuntime(6007): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
05-07 12:17:02.562: E/AndroidRuntime(6007): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
05-07 12:17:02.562: E/AndroidRuntime(6007): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
05-07 12:17:02.562: E/AndroidRuntime(6007): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
05-07 12:17:02.562: E/AndroidRuntime(6007): at com.example.googlesearch.JSONParser.getJSONFromUrl(JSONParser.java:38)
05-07 12:17:02.562: E/AndroidRuntime(6007): at com.example.googlesearch.AuxilaryVerbs.parseJSON(AuxilaryVerbs.java:39)
05-07 12:17:02.562: E/AndroidRuntime(6007): at com.example.googlesearch.AuxilaryVerbs.is_clicked(AuxilaryVerbs.java:81)
05-07 12:17:02.562: E/AndroidRuntime(6007): ... 14 more
05-07 12:17:02.572: D/dalvikvm(6007): GC_CONCURRENT freed 439K, 9% free 5623K/6176K, paused 3ms+0ms, total 6ms
请添加异常消息。 – nfirex 2013-05-07 12:10:55