Java中html页面解析json数据据有错,A JSONObject text must begin with '{',可是我明明有.而且在线解析json也没错.

今天看啥 热点:
关于json解析时异常org.json.JSONException: A JSONObject text must begin with '{' at character 1 of {的解决方法,jsonobject
出现这个异常的原因是json串格式不正常,没有&{&开始或没有&}&结尾,仔细检查下json文件的格式一般就可以解决这个问题。但是有时候json文件是正常的,仍然有这个异常信息,怎么办呢,这个是因为你的json文件头里带有编码字符(如UTF-8等),读取字符串时json串是正常的,但是解析就有异常,一般会出现这样的情况是读取的json串是来自于服务器或本地的文件,文件头里自带编码,就我碰到情况来看在Android2.1的手机会报异常,高于2.1的手机是正常的。
解决方法:我们来看看带编码的文件有什么不同,用UE打开带编码和不带编码的json文件,然后切换到HEX 模式,会发现带编码的文件比不带编码的文件多三个字节,读取带编码的文件时只要不读取前三个字节,这样就可以正常解析了。
带UTF-8编码的文件:
不带编码的文件:
相关搜索:
相关阅读:
相关频道:
Android教程最近更新Redmine Java Api -
org.json.JSONException: A JSONObject text must begin with '{' at character 1
When I try run this code (The Issue example is taken from this web
RedmineManager redmineManager = new RedmineManager("http://something.cz", "somekey"); //I changed these two parameters for security reasons when paste here
System.out.println(redmineManager.getProjects().size()); //this works fine
Issue issueToCreate = new Issue();
issueToCreate.setSubject("This is the summary line 123");
Issue newIssue = redmineManager.createIssue("test-project", issueToCreate); //this line throws exception
It ends with this exception
Exception in thread "main" com.taskadapter.redmineapi.RedmineFormatException: org.json.JSONException: A JSONObject text must begin with '{' at character 1
at com.taskadapter.redmineapi.internal.Transport.parseResponse(Transport.java:456)
at com.taskadapter.redmineapi.internal.Transport.addObject(Transport.java:186)
at com.taskadapter.redmineapi.RedmineManager.createIssue(RedmineManager.java:135)
at javaapplication146.JavaApplication146.main(JavaApplication146.java:27)
Caused by: org.json.JSONException: A JSONObject text must begin with '{' at character 1
at org.json.JSONTokener.syntaxError(JSONTokener.java:410)
at org.json.JSONObject.&init&(JSONObject.java:179)
at org.json.JSONObject.&init&(JSONObject.java:402)
at com.taskadapter.redmineapi.internal.RedmineJSONParser.getResponseSingleObject(RedmineJSONParser.java:609)
at com.taskadapter.redmineapi.internal.Transport.parseResponse(Transport.java:454)
... 3 more
Java Result: 1
The same behaviour is for any other "get some objects" (which works) and for "create some objects" (which does not).
I am using maven with its dependency for version 1.23, however I tried 1.12.0 and same exception was thrown.
We are using latest redmine 2.5.1.stable, however based on stacktrace, the communication between redmine web and this redmine api does not happen as the exception is thrown in "parseRespone" part of application.2017年1月 总版技术专家分月排行榜第二
2016年12月 总版技术专家分月排行榜第三
2013年3月 总版技术专家分月排行榜第二
2014年2月 Java大版内专家分月排行榜第一2013年8月 Java大版内专家分月排行榜第一2013年5月 Java大版内专家分月排行榜第一2013年4月 Java大版内专家分月排行榜第一2013年3月 Java大版内专家分月排行榜第一2013年2月 Java大版内专家分月排行榜第一
2016年1月 Java大版内专家分月排行榜第二2015年12月 Java大版内专家分月排行榜第二2015年8月 Java大版内专家分月排行榜第二2015年3月 Java大版内专家分月排行榜第二2015年1月 Java大版内专家分月排行榜第二2014年12月 Java大版内专家分月排行榜第二2014年11月 Java大版内专家分月排行榜第二2014年6月 Java大版内专家分月排行榜第二2014年4月 Java大版内专家分月排行榜第二2014年1月 Java大版内专家分月排行榜第二2013年11月 Java大版内专家分月排行榜第二
2015年9月 Java大版内专家分月排行榜第三2015年6月 Java大版内专家分月排行榜第三2015年5月 Java大版内专家分月排行榜第三2015年2月 Java大版内专家分月排行榜第三2014年3月 Java大版内专家分月排行榜第三2013年12月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 c 接收json数据出错 的文章

 

随机推荐