And*_*vey 1 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"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我在javascript函数中使用json,需要操作它来删除根密钥.即我想要的东西看起来像
[
{
"id": 1, "image":"https://path/to/my/image/1.jpg"
},
{
"id": 2, "image":"https://path/to/my/image/2.jpg"
}
]
Run Code Online (Sandbox Code Playgroud)
我一直在用各种方法进行攻击,并在SO上引用了几个类似的帖子,但似乎没有任何效果.以下似乎应该如此.
var url = 'http://path/to/my/json/feed.json';
var jsonSource = $.getJSON( url );
var jsonParsed = $.parseJSON(jsonSource);
var jsonFeed = jsonParsed.photos
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
那里有几个问题.
这是无效的JSON,有两种不同的方式.A):after "photos"表示它是一个属性初始值设定项,但是[...]当它应该在一个object({...})内时,它在一个array()内.B)键"前面有额外的字符images.所以首先要解决这个问题.
您正在尝试使用返回值,$.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"
}
]
}
Run Code Online (Sandbox Code Playgroud)
然后:
$.getJSON(url, function(data) {
var photos = data.photos;
// `photos` now refers to the array of photos
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1090 次 |
| 最近记录: |