gpt4 book ai didi

javascript - Javascript 如何区分 Json 对象和字符串?

转载 作者:行者123 更新时间:2023-11-28 11:37:20 26 4
gpt4 key购买 nike

当这个奇怪的 JavaScript 问题出现时,我正在阅读一段代码片段并弄清楚它是如何工作的。

在他们的 JavaScript 中,他们称之为

var apiUrl = '/api/v1/pin/?format=json&order_by=-id&offset='+String(offset);
...
$.get(apiUrl, function(pins) {
for (...; i < pins.objects.length; i++) ... // works fine
});

他们的API返回这个json格式:

{"meta": {"limit": 50, "next": "?limit=50&format=json&order_by=-id&offset=60", "offset":    
10, "previous": null, "total_count": 79}, "objects": [ {...},{...}, ... ]}

我试图模仿它,但 $.get 从未接受我的简化 json 字符串。

// my attempt
$.get(myApiUrl, function(pins) {
for (...; i < pins.objects.length; i++) ... // ERROR: undefined length
});

我的 Json 字符串采用类似但缩短的格式。

{"objects": [{...},{...}, ... ]}

我无法让它工作,直到我用谷歌搜索 $.getJson() 命令。我只是想知道为什么他们的 javascript 代码只使用 $.get 而我的却必须使用 $.getJson??

是否可以设置某种 header 来强制 javascript 将其读取为 json?

最佳答案

如果您没有明确指定内容类型,jQuery 将尝试根据服务器返回的 header 确定数据类型。

如果您没有使用 JSON 序列化程序,请使用 http://jsonlint.com/ 验证 JSON 的有效性。或this ,否则会出现错误。

JSON 的正确 ContentType header 是:application/json

关于javascript - Javascript 如何区分 Json 对象和字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16352403/

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