如何操作JSON对象以删除Javascript中的根键?
我有一个json url,它以以下格式返回数据如何操作JSON对象以删除Javascript中的根键?,javascript,jquery,json,Javascript,Jquery,Json,我有一个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,需要对其进行操作以删除根键。i、 我想要看起来像的东西 [ { "id":
{
"photos" : [
{
"id": 1, "image":"https://path/to/my/image/1.jpg"
},
{
"id": 2, "image":"https://path/to/my/image/2.jpg"
}
]
}
我在javascript函数中使用json,需要对其进行操作以删除根键。i、 我想要看起来像的东西
[
{
"id": 1, "image":"https://path/to/my/image/1.jpg"
},
{
"id": 2, "image":"https://path/to/my/image/2.jpg"
}
]
我一直在用各种方法进行黑客攻击,并参考了一些类似的帖子,但似乎没有任何效果。以下似乎是应该的
var url = 'http://path/to/my/json/feed.json';
var jsonSource = $.getJSON( url );
var jsonParsed = $.parseJSON(jsonSource);
var jsonFeed = jsonParsed.photos
我做错了什么?有几个问题 这是无效的JSON,有两种不同的方式。答:在photos之后意味着它是一个属性初始值设定项,但它在数组[…]中,而它应该在对象{…}中。B图像键前面有额外字符。所以第一件事就是解决这个问题 您试图使用$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"
}
]
}
然后:
这里有几个问题 这是无效的JSON,有两种不同的方式。答:在photos之后意味着它是一个属性初始值设定项,但它在数组[…]中,而它应该在对象{…}中。B图像键前面有额外字符。所以第一件事就是解决这个问题 您试图使用$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"
}
]
}
然后:
谢谢TJ,你的回答是有道理的,但我得到了未捕获的SyntaxError:意外标记:在控制台中。我如何调试导致这种情况的原因?@AndyHarvey:错误应该告诉您是什么代码引发了错误。这可能是JSON中的一个错误,例如,它与上面的代码看起来不太一样。上面的代码和上面的JSON可以工作。这就是删除的方式,但是如何添加根密钥呢?谢谢TJ,你的回答很有道理,但是我在控制台中得到了未捕获的SyntaxError:Unexpected token:。我如何调试导致这种情况的原因?@AndyHarvey:错误应该告诉您是什么代码引发了错误。这可能是JSON中的一个错误,例如,它与上面的代码看起来不太一样。上面的代码和上面的JSON将起作用。这就是删除的方式,但如何添加根密钥?@Andy:Copy and paste是您的朋友。:-@安迪:复制粘贴是你的朋友-