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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json格式错误:net.sf.json.JSONException: A JSONObject text must begin with '' at character 1 of 2相关的知识,希望对你有一定的参考价值。

根据客户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语句输出是正确的,且参数传递也会正确的

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查询表达式,也可以选择别的方式达到相同的目的;这种办法可以将集合中客户端不用的属性剔除,达到简单优化性能的目的。

参考技术A 很简单喽, JSONObject.fromObject(map) 懂了没
参数应该是map,而你放进去的是个String参数追问

难道fromObject()这个方法只能传集合类吗?
我看过源码(当然是没看懂), 参数类型是Object, 因此我传个String也不报错.

这里我的想法是: 那个map是充当实体类的作用传给service,最终丢给ibatis去了,查询后返回一条记录(String),然后返回给action,最后用fromObject(String)转换成json结构传给js... ...这种思路有什么问题吗?

追答

String虽然不报错可能是因为它也有这种方法,我不太清楚,你可以去看下api找下,你的思路一直到返回给action都是对的

maven 加入json-lib.jar 报错 Missing artifact net.sf.json-lib:json-lib:jar:2.4:compile

<dependency>  
        <groupId>net.sf.json-lib</groupId>  
        <artifactId>json-lib</artifactId>  
        <version>2.4</version>

报错误:Missing artifact net.sf.json-lib:json-lib:jar:2.4:compile

原因:json-lib是需要区分jdk版本的,pom.xml中的配置应加上标签classifier指定jdk版本,如用jdk15

修改为:

<dependency>  
<groupId>net.sf.json-lib</groupId>  
<artifactId>json-lib</artifactId>  
<version>2.4</version>  
<classifier>jdk15</classifier><!--指定jdk版本-->  
</dependency>  

 

以上是关于json格式错误:net.sf.json.JSONException: A JSONObject text must begin with '' at character 1 of 2的主要内容,如果未能解决你的问题,请参考以下文章

maven 加入json-lib.jar 报错 Missing artifact net.sf.json-lib:json-lib:jar:2.4:compile

如何用java实现list转换成json格式

问题:Maven: missing net.sf.json-lib

将class类对象转化成json的数据格式

maven 报错 Missing artifact net.sf.json-lib:json-lib:jar:2.1

关于maven中下载导入json JAR包的问题 Missing artifact net.sf.json-lib:json-lib:jar:2.2.3:compile