加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Exception in thread "main" net.sf.json.JSONE

发布时间:2020-12-16 18:51:34 所属栏目:百科 来源:网络整理
导读:原文链接:http://www.jb51.cc/article/p-kdfmewvc-zw.html 使用高级文本编辑器转换为 无 BOM编码格式即可。 有BOM和无BOM效果图:链接:http://www.jb51.cc/article/p-mswqefxb-zk.html json解析报错A JSONArray text must start with '[' 这里使用的是Andr

原文链接:http://www.52php.cn/article/p-kdfmewvc-zw.html


使用高级文本编辑器转换为 无 BOM编码格式即可。

有BOM和无BOM效果图:链接:http://www.52php.cn/article/p-mswqefxb-zk.html


json解析报错A JSONArray text must start with '['

这里使用的是Android系统的,数据格式是正确的


[java] view plain copy
  1. JSONArrayjoa=newJSONArray(data);

解析代码就这一句 (数据格式是对,是对的,对的)问了好多人都说格式是不对,要是这问题怎么可能老去问了是吧

百度了好久也是什么格式问题啊 什么解析包导错了啦等等啊。。

昨天弄了一天 没有解决。谷歌了这样一条线索 可能数据编码影响,看返回的结果貌似是utf-8的,我又去看我下载数据的地方

copy

    publicstaticStringdealResponseResult(InputStreaminputStream){
  1. StringresultData=null;//存储处理结果
  2. ByteArrayOutputStreambyteArrayOutputStream=newByteArrayOutputStream();
  3. byte[]data=newbyte[1024];
  4. intlen=0;
  5. try{
  6. while((len=inputStream.read(data))!=-1){
  7. byteArrayOutputStream.write(data,0,len);
  8. }
  9. }catch(IOExceptione){
  10. e.printStackTrace();
  11. }
  12. resultData=newString(byteArrayOutputStream.toByteArray());
  13. //System.out.println("结果"+resultData);
  14. returnresultData;
  15. }

这里刻意没有转码,可还是不行。结果一位大神跟我说

可能传回来的数据带dom头,

把第一个字符取出来转成int应该是65279 应该是bomutf8的问题
也是我打印一个字符是空,并不是65279,不过截取第一个数据以后就可以了,反正就是编码问题
第一应该就是标识 去掉就可以解析了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读