代碼消息org.json.JSONException: End of input at character 0 of


查了好多資料,發現還是不全,干脆自己整理吧,至少保證在我的做法正確的,以免誤導讀者,也是給自己做個記錄吧!

    天今寫代碼時,還碰到了如下的誤錯消息:

    04-08 21:55:22.792: W/System.err(10665): org.json.JSONException: End of input at character 0 of 
04-08 21:55:22.802: W/System.err(10665): at org.json.JSONTokener.syntaxError(JSONTokener.java:446)
04-08 21:55:22.802: W/System.err(10665): at org.json.JSONTokener.nextValue(JSONTokener.java:93)
04-08 21:55:22.802: W/System.err(10665): at org.json.JSONArray.<init>(JSONArray.java:87)
04-08 21:55:22.812: W/System.err(10665): at org.json.JSONArray.<init>(JSONArray.java:103)
04-08 21:55:22.812: W/System.err(10665): at cn.jbit.service.GetNews.GetJSON(GetNews.java:65)
04-08 21:55:22.812: W/System.err(10665): at cn.jbit.service.GetNews.getNewsListByJSON(GetNews.java:48)
04-08 21:55:22.812: W/System.err(10665): at cn.jbit.news.NewsActivity.fillListView(NewsActivity.java:29)
04-08 21:55:22.812: W/System.err(10665): at cn.jbit.news.NewsActivity.onCreate(NewsActivity.java:24)
04-08 21:55:22.812: W/System.err(10665): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
04-08 21:55:22.812: W/System.err(10665): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
04-08 21:55:22.812: W/System.err(10665): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
04-08 21:55:22.812: W/System.err(10665): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
04-08 21:55:22.822: W/System.err(10665): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
04-08 21:55:22.822: W/System.err(10665): at android.os.Handler.dispatchMessage(Handler.java:99)
04-08 21:55:22.822: W/System.err(10665): at android.os.Looper.loop(Looper.java:123)
04-08 21:55:22.822: W/System.err(10665): at android.app.ActivityThread.main(ActivityThread.java:3683)
04-08 21:55:22.832: W/System.err(10665): at java.lang.reflect.Method.invokeNative(Native Method)
04-08 21:55:22.832: W/System.err(10665): at java.lang.reflect.Method.invoke(Method.java:507)
04-08 21:55:22.832: W/System.err(10665): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
04-08 21:55:22.832: W/System.err(10665): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
04-08 21:55:22.832: W/System.err(10665): at dalvik.system.NativeStart.main(Native Method)

    我們先直譯一下誤錯消息的意思:在輸入端符字0結尾處拋出了JSONException;

    后然,發現了誤錯的因原:

    每日一道理
水仙亭亭玉立,蘭花典雅幽香,牡丹雍容華貴,梨花潔白無暇……美麗的花朵總能得到世人的羡慕與贊嘆,殊不知,它從一粒小小的種子到最后開花,要歷經無數的艱辛與坎坷!我們的成長也是如此。只有做辛勤的“織夢者”,我們的夢想才會成真!

    /**
*    讀取 流數據 
* @param input
* @return
* @throws Exception
*/

public static byte[] read(InputStream input) throws Exception {
ByteArrayOutputStream out =new ByteArrayOutputStream(); 
byte[] data =new byte[1024];
int len =0;
while((len=input.read(data))!=-1){
out.write(data, 0, 0);//本原應該是out.write(data, 0, len);,但時當用了快捷鍵,打成了0,就拋出了如上的異常消息
}
out.close(); 
return out.toByteArray();
}

    看了下面的代碼,我想你也道知我拋出這個異常的因原了吧;再看看下面的代碼:

    /***
*  從服務器 返回JSON 數據  並在這里停止剖析
* @param input
* @return
* @throws Exception 
*/

private static List<News> GetJSON(InputStream input) throws Exception {
List<News> list =new ArrayList<News>();
byte[] data =StreamTool.read(input);
String json =new String (data);  // 從 服務器 傳過來的數據   產用的編碼就是  utf-8   這里就不寫了
JSONArray array =new JSONArray(json);    
for(int i =0 ; i<array.length();i++){
JSONObject jsonObject =array.getJSONObject(i);  
News news =new News();
news.setNid(jsonObject.getInt("id"));
news.setNauthor(jsonObject.getString("author"));
news.setNtitle(jsonObject.getString("title"));
list.add(news);
}
return list;
}

    我時當調用了第一個方法read(InputStream input)方法,因為不小心打錯了代碼,該方法返回的值確定是什么字節,那么在剖析JSON 確定是在索引為0置位的符字處就出現異常!

文章結束給大家分享下程序員的一些笑話語錄: 火車
一個年輕的程序員和一個項目經理登上了一列在山里行駛的火車,他們發現 列車上幾乎都坐滿了,只有兩個在一起的空位,這個空位的對面是一個老奶 奶和一個年輕漂亮的姑娘。兩個上前坐了下來。程序員和那個姑娘他們比較 曖昧地相互看對方。這時,火車進入山洞,車廂里一片漆黑。此時,只聽見 一個親嘴的聲音,隨后就聽到一個響亮的巴掌聲。很快火車出了山洞,他們 四個人都不說話。
那個老奶奶在喃喃道, “這個年輕小伙怎么這么無禮, 不過我很高興我的孫女 扇了一個巴掌”。
項目經理在想,“沒想到這個程序員居然這么大膽,敢去親那姑娘,只可惜那 姑娘打錯了人,居然給打了我。”
漂亮的姑娘想,“他親了我真好,希望我的祖母沒有打疼他”。
程序員坐在那里露出了笑容, “生活真好啊。 這一輩子能有幾次機會可以在親 一個美女的同時打項目經理一巴掌啊”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM