Javascript 解析外部JSON文件中未指定的对象
我真的想找点东西 声明: 有一个Javascript 解析外部JSON文件中未指定的对象,javascript,Javascript,我真的想找点东西 声明: 有一个kog.json文件(我无权访问) 它包含如下内容 {gold:"or not", mine:"or hot", Paris:"i hate one"} 这是一种未命名的物体 我需要的是获取Paris的数据并将其放在某个地方,就像一个简单的字符串方法是使用jQuery库的parseJSON一样。看到这个了吗 如果您有办法获取JSON字符串,那么这可能就是您想要的 类似于 var data = '{"gold":"or not", "mine":"or hot",
kog.json文件
(我无权访问)
它包含如下内容
{gold:"or not",
mine:"or hot",
Paris:"i hate one"}
这是一种未命名的物体
我需要的是获取Paris的数据并将其放在某个地方,就像一个简单的
字符串方法是使用jQuery库的parseJSON一样。看到这个了吗
如果您有办法获取JSON字符串,那么这可能就是您想要的
类似于
var data = '{"gold":"or not", "mine":"or hot", "Paris":"i hate one"}';
var object = JSON.parse(data);
console.log(object.Paris);
试试这个
首先,返回带有数据类型:text
(text/plain)
这会将json文件中的数据作为字符串返回
var data = '{gold:"or not",\r\nmine:"o...",\r\nParis:"i hate one"}';
现在不需要的\r\n已删除(换行符)
最后一次邪恶的评估是这样进行的
eval("var objLiteral = " + formattedData);
这样我就能得到巴黎了
console.log(objLiteral["Paris"]);
JavaScript代码片段
var url = "/WebFormsDemo/Samples/kog.json";
window.onload = function () {
var filePath = url;
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", filePath, false);
xmlhttp.send(null);
var data = xmlhttp.responseText;
//removing the line breaks in your text
var formattedData = data.replace(/\r\n/g, '');
eval("var objLiteral = " + formattedData);
console.log(objLiteral["Paris"]);
};
jQuery代码段
$(function () {
$.ajax({
url: url,
//force to handle it as text
dataType: "text",
success: function (data) {
//removing the line breaks in your text
var formattedData = data.replace(/\r\n/g, '');
eval("var objLiteral = " + formattedData);
console.log(objLiteral["Paris"]);
}
});
});
附言:你真的应该改变“kog.json”的格式。它的JSON无效。我没有访问JSON文件的权限。那样的话,我就不能把一切都改变得好看。eval('var object={gold:“or not”,mine:“or hot”,Paris:“i hate one”};')代码>可以工作,但这是一种黑客的方式。请注意,在“gold/mine/Paris”上没有引号,它不工作,没有引号,此外,我必须导入文件。好的,我想你只是忘记了它们,因为你说了“像这样的东西”谢谢,很多。正如我所说的,我没有访问该文件的权限:D有点。。。完全
var url = "/WebFormsDemo/Samples/kog.json";
window.onload = function () {
var filePath = url;
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", filePath, false);
xmlhttp.send(null);
var data = xmlhttp.responseText;
//removing the line breaks in your text
var formattedData = data.replace(/\r\n/g, '');
eval("var objLiteral = " + formattedData);
console.log(objLiteral["Paris"]);
};
$(function () {
$.ajax({
url: url,
//force to handle it as text
dataType: "text",
success: function (data) {
//removing the line breaks in your text
var formattedData = data.replace(/\r\n/g, '');
eval("var objLiteral = " + formattedData);
console.log(objLiteral["Paris"]);
}
});
});