从 JSON 解析中删除一行
Remove a line from JSON parse
我正在与 JIVE 合作 JSON RESTFul API 并且在他们的 API 上他们有安全措施
(我指的是投掷'allowIllegalResourceCall is false.';)
throw 'allowIllegalResourceCall is false.';
{
"id" : "52104",
}
我正在使用这段代码来尝试解析它:
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var myObj = JSON.parse(this.responseText);
document.getElementById("topdisplay").innerHTML = myObj.id;
}
};
xmlhttp.open("GET", "http://mysite/API/",true);
xmlhttp.send();
而且由于该起始行,我收到了一个错误。
我四处寻找尝试找到一个解决方案来跳过 JSON PARSE 会起作用,但我似乎无法找到一种可行的方法来做到这一点。
我还知道解析代码可以正常工作,因为当我删除第一行时它可以完美运行。
有什么帮助吗?
JIVE REST API 引入此功能是为了帮助防止 JSON 在 Web 浏览器易受攻击时进行劫持。
您需要先找到 {
,然后从该位置到字符串末尾做一个子字符串。
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var response = this.responseText
var myObj = JSON.parse(this.responseText.substring(this.response.indexOf('{')));
document.getElementById("topdisplay").innerHTML = myObj.id;
}
};
xmlhttp.open("GET", "http://mysite/API/",true);
xmlhttp.send();
注意:
使用 RegEx,您需要找到第一行以 throw 并以分号结尾,如果找到则替换为空字符串。
JSON.parse(response.replace(/throw.*;/, "").trim());
我正在与 JIVE 合作 JSON RESTFul API 并且在他们的 API 上他们有安全措施
(我指的是投掷'allowIllegalResourceCall is false.';)
throw 'allowIllegalResourceCall is false.';
{
"id" : "52104",
}
我正在使用这段代码来尝试解析它:
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var myObj = JSON.parse(this.responseText);
document.getElementById("topdisplay").innerHTML = myObj.id;
}
};
xmlhttp.open("GET", "http://mysite/API/",true);
xmlhttp.send();
而且由于该起始行,我收到了一个错误。 我四处寻找尝试找到一个解决方案来跳过 JSON PARSE 会起作用,但我似乎无法找到一种可行的方法来做到这一点。
我还知道解析代码可以正常工作,因为当我删除第一行时它可以完美运行。
有什么帮助吗?
JIVE REST API 引入此功能是为了帮助防止 JSON 在 Web 浏览器易受攻击时进行劫持。
您需要先找到 {
,然后从该位置到字符串末尾做一个子字符串。
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var response = this.responseText
var myObj = JSON.parse(this.responseText.substring(this.response.indexOf('{')));
document.getElementById("topdisplay").innerHTML = myObj.id;
}
};
xmlhttp.open("GET", "http://mysite/API/",true);
xmlhttp.send();
注意:
使用 RegEx,您需要找到第一行以 throw 并以分号结尾,如果找到则替换为空字符串。
JSON.parse(response.replace(/throw.*;/, "").trim());