json格式错误:net.sf.json.JSONException: A JSONObject text must begin with '{' at character 1 of 2 5

根据客户id和客户名查询详细信息,通过$.ajax()发送异步请求,数据格式"dataType":"json".运行后发现action报错"net.sf.json.JSO... 根据客户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语句输出是正确的,且参数传递也会正确的
展开
 我来答
麻熊曼2
2018-03-31 · TA获得超过1.1万个赞
知道小有建树答主
回答量:110
采纳率:100%
帮助的人:1.7万
展开全部

json格式错误解决方法:

1、在用org.json.JSONObject 解析从网络获取的json数据时,遇到JSONException: java.lang.String cannot be converted to JSONObject,打印字符串,查看json字符串没有问题;

2、造成问题的原因是在编写json文件的时候,采用utf-8编码,utf8有个BOM格式,去掉这个格式就ok了;

3、另外还有一种办法,就是在java代码中去除BOM头。

Select方法重新投影对象集合将Birthday属性转换成一个新的属性,注意属性变化后要重新命名,属性名可以相同;这里可以使用select方法也可以使用LINQ查询表达式,也可以选择别的方式达到相同的目的;这种办法可以将集合中客户端不用的属性剔除,达到简单优化性能的目的。

百度网友5426e4f
2015-01-25 · TA获得超过256个赞
知道小有建树答主
回答量:114
采纳率:100%
帮助的人:53.5万
展开全部
很简单喽, JSONObject.fromObject(map) 懂了没
参数应该是map,而你放进去的是个String参数
追问
难道fromObject()这个方法只能传集合类吗?
我看过源码(当然是没看懂), 参数类型是Object, 因此我传个String也不报错.

这里我的想法是: 那个map是充当实体类的作用传给service,最终丢给ibatis去了,查询后返回一条记录(String),然后返回给action,最后用fromObject(String)转换成json结构传给js... ...这种思路有什么问题吗?
追答
String虽然不报错可能是因为它也有这种方法,我不太清楚,你可以去看下api找下,你的思路一直到返回给action都是对的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式