zoukankan      html  css  js  c++  java
  • 代码消息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置位的符字处就出现异常!

    文章结束给大家分享下程序员的一些笑话语录: 火车
    一个年轻的程序员和一个项目经理登上了一列在山里行驶的火车,他们发现 列车上几乎都坐满了,只有两个在一起的空位,这个空位的对面是一个老奶 奶和一个年轻漂亮的姑娘。两个上前坐了下来。程序员和那个姑娘他们比较 暧昧地相互看对方。这时,火车进入山洞,车厢里一片漆黑。此时,只听见 一个亲嘴的声音,随后就听到一个响亮的巴掌声。很快火车出了山洞,他们 四个人都不说话。
    那个老奶奶在喃喃道, “这个年轻小伙怎么这么无礼, 不过我很高兴我的孙女 扇了一个巴掌”。
    项目经理在想,“没想到这个程序员居然这么大胆,敢去亲那姑娘,只可惜那 姑娘打错了人,居然给打了我。”
    漂亮的姑娘想,“他亲了我真好,希望我的祖母没有打疼他”。
    程序员坐在那里露出了笑容, “生活真好啊。 这一辈子能有几次机会可以在亲 一个美女的同时打项目经理一巴掌啊”

  • 相关阅读:
    IDEA工具java开发之 开发中必会的技能
    IDEA工具java开发之项目初始化配置 细节和目录结构
    有关java编辑改变编码器时出现HelloWorld.java:3: 错误: 编码GBK的不可映射字符 * 瀹冨皢鎵撳嵃瀛楃�涓? Hello World
    java开发环境的搭建 第一步安装JDK 第二步配置环境变量 检查java中的jdk是否安装成功
    解决vue中使用echarts的formatter提示警告的问题
    数组去重及element UI 远程模糊查询
    有关echar图设置宽度100%不起作用的问题
    echarts 中的bar3D柱子图在geo3D地图中显示不出来
    【SQL】约束
    【SQL】视图
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3035911.html
Copyright © 2011-2022 走看看