我真的想找到一些东西。
语句:有一个kog.json file
(我无法访问)
它包含类似的东西
{gold:"or not",
mine:"or hot",
Paris:"i hate one"}
这是一种未命名的对象。
我需要的是获取巴黎的数据并将其放在某个地方,就像一个简单的string
.
JSON.parse() 可能是你正在寻找的,如果你有办法获取该 JSON 字符串。
类似的东西..
var data = '{"gold":"or not", "mine":"or hot", "Paris":"i hate one"}';
var object = JSON.parse(data);
console.log(object.Paris);
试试这个。
首先,返回带有dataType: text
的 kog.json 文件(文本/纯文本)
这会以字符串形式返回 json 文件中的数据。
var data = '{gold:"or not",rnmine:"o...",rnParis:"i hate one"}';
现在删除了不需要的 \r(换行符)
var formattedData = data.replace(/rn/g, '');
最后,像这样进行了一次邪恶的评估。
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(/rn/g, '');
eval("var objLiteral = " + formattedData);
console.log(objLiteral["Paris"]);
};
jQuery Snippet
$(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(/rn/g, '');
eval("var objLiteral = " + formattedData);
console.log(objLiteral["Paris"]);
}
});
});
PS:你真的应该改变"kog.json"的格式。其无效的 JSON。
一种方法是使用jQuery库的parseJSON。看到这个小提琴
var data = '{"gold":"or not", "mine":"or hot", "Paris":"i hate one"}';
var jsonObject = $.parseJSON(data);
alert(jsonObject.Paris);