gpt4 book ai didi

javascript - JSON 与 JavaScript 对象数组。为什么第二种方法的结果与第一种方法不同?以及如何实现这一目标?

转载 作者:行者123 更新时间:2023-12-01 02:09:12 25 4
gpt4 key购买 nike

我知道这不是有效的 JSON,但是当我直接在代码中将其声明为变量时,我可以将其用作对象。

<script>
// this will result in object
var mydata = {
users: [{
person: {
firstName: "Garry",
lastName: "Finch"
},
jobTitle: "Front End Technical Lead",
twitter: "gazraa"
}, {
person: {
firstName: "Hans",
lastName: "Wurst"
},
jobTitle: "Photographer",
twitter: "photobasics"
}, {
person: {
firstName: "Paul",
lastName: "Stark"
},
jobTitle: "LEGO Geek",
twitter: "minifigures"
}]
};

console.log('mydata: ' + mydata);
console.log(mydata);
</script>

console.log result

现在我想将相同的信息存储到文件“table.data.js”中。该文件看起来像:(BEGIN 和 END 的内部)

//BEGIN
{
users: [{
person: {
firstName: "Garry",
lastName: "Finch"
},
jobTitle: "Front End Technical Lead",
twitter: "gazraa"
}, {
person: {
firstName: "Hans",
lastName: "Wurst"
},
jobTitle: "Photographer",
twitter: "photobasics"
}, {
person: {
firstName: "Paul",
lastName: "Stark"
},
jobTitle: "LEGO Geek",
twitter: "minifigures"
}]
}
//END

然后我尝试了不同的方法来读取这个文件

$.ajax({
contentType: "application/json; charset=utf-8",
url: "Content/modules/Controls/table/table.data.js",
data: "{}",
dataType: "json",
success: function(data) {
var json = data;
console.log(json);
}
});

然后尝试使用 $.get 和 $.getScript在任何情况下,结果都不会是同一个对象

//var jqxhr = $.get("Content/modules/Controls/table/table.data.js", function () {
var jqxhr = $.getScript("Content/modules/Controls/table/table.data.js", function (data, textStatus, jqxhr) {
console.log("success");
}).done(function (data) {
console.log(data);
testdata = JSON.stringify(data);
console.log(testdata);
}).fail(function () {
console.log("error");
}).always(function () {
console.log("finished");
});

结果永远不会是同一个对象。我只能将数据作为“纯”文本记录到控制台中。我想这对一些有知识的人来说只是一小步,但对我来说实际上是一本七印的书。

编辑:感谢您的所有回复。总之,这意味着,不可能加载外部数据,将其存储在“mydata”这样的变量中,然后以与直接在代码中声明它的方式相同的方式工作?然后我会将数据更改为有效的 JSON。

然后我会给@Quentin 颁发最短精确答案奖章。但是,感谢大家的澄清。

最佳答案

您的文件不是有效的 JSON(因为您没有引用属性名称)。

您的文件不是有效的 JavaScript(因为您不能让对象文字漂浮在中间,您需要(例如)在其左侧进行赋值)。

您应该更改该文件,使其成为有效的 JSON 或有效的 JavaScript(最好是前者)。

关于javascript - JSON 与 JavaScript 对象数组。为什么第二种方法的结果与第一种方法不同?以及如何实现这一目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49873974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com