JSONException: A JSONObject text must begin with '{' at character 1 of 2

mikejohn8 2015-01-25 05:00:30
根据客户id和客户名查询详细信息,通过$.ajax()发送异步请求,数据格式"dataType":"json".运行后发现action报错"net.sf.json.JSONException: A JSONObject text must begin with '{' at character 1 of 2",这里的"2"其实是客户的id号,这个问题怎么解决?
程序报错:


jsp中ajax请求:


struts配置:


action方法:


控制台输出customer是2(客户名为"lisi"的id):


sql语句输出是正确的,且参数传递也会正确的:
...全文
28947 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
半个鼠标 2016-04-13
  • 打赏
  • 举报
回复
此类问题在网络上面出现了很多网友提及这个问题。 我这边查到的问题应该是: 我们json数据在传输的过程中,会受操作系统的影响,io数据流中的数据字符,在不同的操作系统中所占的字节不一样, 所以你接收后io流数据后,有可能你的json格式结构被改变了。 比如64位的操作机器可能是正确的json格式。 但是你服务器使用的是32位的服务器,此时你再去处理这个json时,会发现json格式有问题,所以最大的问题应该就是操作系统的影响。
睡觉吧 2016-04-13
  • 打赏
  • 举报
回复
你把jsonobj.toString()打印出来看看就知道了,就是一个"2",不是json格式的。 把customer 放到一个对象或集合中再放到JSONObject,或者你自己把customer拼成一个"{id:2}"的json格式的字符串。 扔一个非json格式的字符串到JSONObject是没用的
  • 打赏
  • 举报
回复
引用 1 楼 slwsss 的回复:
customer 格式不正确不是json不能这样用
我去,我还以为是我回答的呢,头像一样
  • 打赏
  • 举报
回复
你这个data 传入的json格式不正确 看看这个http://www.jb51.net/article/25987.htm
slwsss 2015-01-25
  • 打赏
  • 举报
回复
customer 格式不正确不是json不能这样用

67,547

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧