gpt4 book ai didi

javascript - 如何操作 JSON 对象以删除 Javascript 中的根键?

转载 作者:行者123 更新时间:2023-11-30 08:48:03 26 4
gpt4 key购买 nike

我有一个以格式返回数据的 json url

{
"photos" : [
{
"id": 1, "image":"https://path/to/my/image/1.jpg"
},
{
"id": 2, "image":"https://path/to/my/image/2.jpg"
}
]
}

我在 javascript 函数中使用 json,需要对其进行操作以删除根 key 。即我想要一些看起来像

[
{
"id": 1, "image":"https://path/to/my/image/1.jpg"
},
{
"id": 2, "image":"https://path/to/my/image/2.jpg"
}
]

我一直在尝试各种方法,并在 SO 上引用了几篇类似的帖子,但似乎没有任何效果。以下似乎应该如此。

var url = 'http://path/to/my/json/feed.json';
var jsonSource = $.getJSON( url );
var jsonParsed = $.parseJSON(jsonSource);
var jsonFeed = jsonParsed.photos

我做错了什么?

最佳答案

这里有几个问题。

  1. 这是无效的 JSON,有两种不同的方式。 A) "photos" 之后的 : 表示它是一个属性初始值设定项,但它在数组 ([...]) 中时应该在一个对象内 ({...})。 B) images 键前面有多余的 " 字符。所以首先要解决这个问题。

  2. 您正在尝试使用 $.getJSON 的返回值,就好像它是包含 JSON 文本的字符串一样。但是 $.getJSON 返回一个 jqXHR 对象。你需要给它一个成功回调。该回调将使用对象图调用,JSON 会自动为您解析。

假设 JSON 固定为如下所示:

{
"photos": [
{
"id": 1,
"image": "https://path/to/my/image/1.jpg"
},
{
"id": 2,
"image": "https://path/to/my/image/2.jpg"
}
]
}

然后:

$.getJSON(url, function(data) {
var photos = data.photos;

// `photos` now refers to the array of photos
});

关于javascript - 如何操作 JSON 对象以删除 Javascript 中的根键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20186716/

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