如何在地理编码中忽略由于返回的 JSON 中的无效令牌而导致的语法错误



我正在向带有州/国家/地区的地理编码发送查询并获取 JSON 响应列表。有时 JSON 无法正确解析。我怎么能忽略这样的结果而继续下一个结果?

这是 ajax 调用

$.ajax({
url: "/abc/points",
context: document.body,
data: {
latitude: places[0].geometry.location
.lat(),
longitude: places[0].geometry.location
.lng(),
distance: $(
'input[name="distance"]:checked')
.val(),
city: city1,
state: state1,
country: country1,
},
success: function(responseText) {
$("#response-div").html(
responseText);
$("#response-div")
.find("script")
.each(
function(i) {
eval($(
this)
.text());
});
$("html").removeClass(
"wait");
}
});

返回了数百个结果,我只希望它跳过导致语法错误的结果并继续前进。如果您需要,我可以发布返回的示例JSON文本。

谢谢

评论好的,我无法确定是否可以忽略语法错误。这是我的下一个方法。基本上,它是一个被解析为 JSON 的响应,它无法忽略 JSTL 中的n字符。我需要能够将n以及","替换为"。任何帮助,不胜感激。我知道有些帖子解释了如何忽略其中任何一个,但不能同时忽略两者。

function(marker, event, context) {
var contentString = '<div style="width:600px; height: 300px;">' +
'<div> <h4>' +  '${fn:replace(object.name, search, replace)}' + ' </h4> </div>' +
'<table class="table">' +
'<tbody>' +
'<tr class="active">' +
'<td>Address: </td>' +
<c:set var="address" value="${object.stAddress} ${object.city}, ${object.state} ${object.zipcode}" />
'<td colspan=5>' + "${fn:replace(address, ",", " ")}"+"${fn:replace(address, "n", " ")}" + '</td>' +
' </tr>' +

编辑我已经尝试过了,尽管它可以替换其他一些字符,但它无法n

<c:set var="search" value="'" />
<c:set var="replace" value="" />
<c:set var="newLn" value="n" />
${fn:replace(fn:replace(address, newLn, replace), search, replace)}

好的,我能够弄清楚这一点。把我的解决方案放在这里,以防它对任何人有帮助。

<c:set var="modAdd" value="${fn:replace(origAdd,newLn, "")}" />

现在在我的代码中,我只是使用这个变量来执行双重替换。

${fn:replace(modAdd, "'", "")} 

最新更新