关于json解析时异常org.json.JSONException: A JSONObject text must begin with '{' at character 1 of ?{的解决方法

出现这个异常的原因是json串格式不正常,没有"{"开始或没有"}"结尾,仔细检查下json文件的格式一般就可以解决这个问题。但是有时候json文件是正常的,仍然有这个异常信息,怎么办呢,这个是因为你的json文件头里带有编码字符(如UTF-8等),读取字符串时json串是正常的,但是解析就有异常,一般会出现这样的情况是读取的json串是来自于服务器或本地的文件,文件头里自带编码,就我碰到情况来看在Android2.1的手机会报异常,高于2.1的手机是正常的。

解决方法:我们来看看带编码的文件有什么不同,用UE打开带编码和不带编码的json文件,然后切换到HEX 模式,会发现带编码的文件比不带编码的文件多三个字节,读取带编码的文件时只要不读取前三个字节,这样就可以正常解析了。

带UTF-8编码的文件:

不带编码的文件:

关于json解析时异常org.json.JSONException: A JSONObject text must begin with '{' at character 1 of ?{的解决方法

时间: 2024-10-06 11:56:51

关于json解析时异常org.json.JSONException: A JSONObject text must begin with '{' at character 1 of ?{的解决方法的相关文章

org.json.JSONException: A JSONObject text must begin with '{' at 1 [character 2 line 1]

参考: http://bbs.csdn.net/topics/390851535 内容: 多一个字符原因:用文本编辑器(notepad++)打开test.txt文本文件第一次选择的是红框的编码,这样读出来的字符串长度总是为28(莫名的多了一个字符),会报异常,因为第一个字符不是'{'第二次选择的是蓝框的编码,这样读出来的字符串长度就是27,和我们认为的长度一样,也不会报异常 我的代码处理: 1 ASOTest.handleDownTotal(downtotalCollection,line.su

删除合并快照时因磁盘空间不够导致快照管理器看不到快照无法完成的解决方法

VMWare Workstation合并快照时因磁盘空间不够导致快照管理器看不到快照无法完成的解决方法 ?Lander Zhang 专注外企按需IT基础架构运维服务,IT Helpdesk 实战培训践行者博客:https://blog.51cto.com/lander IT Helpdesk实战培训视频课程:https://edu.51cto.com/lecturer/733218.html 为什么要创建及删除合并快照? 搭建试验测试环境时,为了减少搭建时产生的未知错误导致已经完成的部分前功尽弃

Json解析时出现net.sf.json.JSONException: There is a cycle in the hierarchy!

原因分析在解析bean时,出现死循环调用,即多个bean之间出现了相互调用.解决方法:将关联关系中实体对象间 的lazy属性设为false过滤掉bean中引起死循环调用的属性.(两种过滤方式) //采用数组的方式过滤关联的实体对象 JsonConfig jsonConfig = new JsonConfig(); jsonConfig.setIgnoreDefaultExcludes(false); jsonConfig.setCycleDetectionStrategy(CycleDetect

json解析常见异常

(1) : org.json.JSONException: Expected a ',' or '}' at 80 [character 81 line 1] 原因:出现乱码了, 导致json格式出错.. 解决方法: String result = new String(data,"utf-8"); 默认是iso8859-1 (将编码方式改为utf-8) if(response.getStatusLine().getStatusCode()==200){ HttpEntity http

c# 解析json 字符串 报异常 Bad JSON escape sequence 解决方案

当我试图将一个完整的本地路径的字符串串(如:c:\\aaa\\数学题\\三一班\\ea15ae66-d5cd-4244-87e4-fcf97b06b407.jpg)encodeURL之后当做一个页面参数传递给C#的时候:JSON 在解析的时候,通过HttpUtility.UrlDecode(d.recode["imageName"].ToString(), Encoding.GetEncoding("UTF-8")),给我变成了(c:\\aaa\\数学题\\三一班e

JSON解析时,中间终止了

那一个实例做背景: String str="{"msg":"用户发布的求租信息","status":"Y","error":null,"data":[{"checkInTimeStr":"2015-02-02","title","好好好"},{"checkInTimeStr":&

解决json解析时参数为int类型造成保存参数错误问题

由于解析的结果如 {"result":[{"id":1,"title":"需要澳洲鲍鱼四只","content":null,"createTime":"","memId":0,"orgId":1,"corpName":"红星美凯龙南京中央路商场","corpLogo":

asp.net mvc 4 json大数据异常 提示JSON字符长度超出限制的异常

今天客户突然过来找我说在后台添加了一篇超长的文章后,所有后台的文章都显示不出来了.后台的前端显示是用easyui的,返回的数据全是用json.根据客户的描述进行了同样的操作后,在firebug下发现ajax返回的异常 “序列化或JSON的JavaScriptSerializer过程中出现错误.字符串的长度超过上maxJsonLength属性设置的值” 这个异常是在执行MVC中的JsonResult的时抛出的,根据异常 的Message得知是序列化的字符串超出了maxJsonLength的限制.并

AFNetworking 2.0 获取json数据时,返回 NSLocalizedDescription=Request failed: unacceptable content-type: text/html, 解决方法.

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"]; 1:优先让服务器做好返回类型适配 2:服务器不做的话, 在程序中再加上上面的代码. 把类型加上.