当试图解析JSON被我的Serlvet回到我的JSP页面下面的代码行抛出一个无效的字符异常:为什么这个JSON字符串无效? jQuery.parseJSON函数抛出无效字符
var obj = jQuery.parseJSON(data);
客户端代码
<script type = "text/javascript">
function updateProgrammerDetails(site, Id) {
$.post('EngineAdminServlet',
{
action: "updateProgrammerMenu",
siteDetails: site,
ID: Id,
},
function(data, status){
var pid, name, sky, ip, eleven;
var obj = jQuery.parseJSON(data);
.........
}
}).fail(function(error) {
alert("Error retrieving details from server");
}); //end ajax call
}
</script>
GENERATED JSON字符串中使用GSON
我已经导入了GSON LIB在我的Servlet类中进行转换,以便将我的Java对象'ProgrammerForJSP'转换为JSON字符串。在其他帖子中建议这样做,以避免在自己创建JSON字符串时出现任何拼写错误。这是它返回的字符串:
{"ID":123,"siteName":"VEGAS","skyl":"WZ0019","ipAddress":"0.0.0.0","code":"L/BEG"}
servlet代码
....
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
String gson = new Gson().toJson(myObject);
response.getWriter().write(gson);
} //end of method
我不知道如果我缺少一个步骤,或者做错了什么?我的想法是,IP地址字段可能会抛出解析器并破坏代码(因此无效的字符异常),因为它包含句点字符吗?我真的不知道。
编辑 我使用jQuery,1.11.3.js
对不起@rory这是一个急件,所以我可能没有解释得很好。我已经向我的servlet发布了一个ID以及来自我的JSP页面的其他一些属性,然后用它们在servlet上创建一个对象。然后使用Gson将此对象解析为JSON字符串,以便我可以从对象中获取一些属性,并在返回时填充JSP页面上的一些字段。然而,这是错误发生的时候:当我试图解析回JSP页面上的对象时,它抛出了无效的字符异常,所以我无法遍历我的对象以从中获取值... –