【发布时间】:2021-01-14 10:23:23
【问题描述】:
我有一个 JSON api。简单的例子在图片中
我要做的就是将对象从 JSON 添加到数组。 就像在这个例子中
[{title: 'Marker 1', lat: '40.371268', lang: '49.840576', id: '1', icon 'ico.png'},{ title: 'Marker 2', lat: '40.371268', lang: '49.840576', id: '2', icon 'ico.png'} ]
但是当我使用这个代码时
$.getJSON('apiJson.php')
.done(function(data){
randomMarkers.push(Object.values(data));
})
console.log(randomMarkers);
我得到了 Array in Array ... 找不到解决办法。
我需要一个对象来自外部 JSON 的数组
对不起我的英语。
【问题讨论】:
-
Object.values(data)返回一个数组,您将其推入一个数组。因此,您在数组中得到一个数组。只需使用randomMarkers = Object.values(data)。但我怀疑这是您解决不同问题的尝试。见How do I return the response from an asynchronous call? -
randomMarkers = Object.values(data) - 不起作用(对于你的第二个问题 - 我从异步调用中得到响应。只是不能把它放在数组上可能是我需要使用的。但不能数字怎么样(
-
@Ivar 刚刚看到您的评论。我认为请求将被分页,因此正在尝试推送它。
-
@mrentonee 我发布的链接准确地解释了这给您带来麻烦的原因以及解决方法。 (你可能会说“但是
console.log正在显示它,所以它一定在那里”,but that isn't what it looks like。)