解析外部 JSON 文件中的未命名对象

parsing unamed object in external JSON file

本文关键字:未命名 对象 文件 外部 JSON      更新时间:2023-09-26

我真的想找到一些东西。

语句:有一个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",'r'nmine:"o...",'r'nParis:"i hate one"}';

现在删除了不需要的 ''r'(换行符)

var formattedData = data.replace(/'r'n/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(/'r'n/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(/'r'n/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);