用JavaScript解析JSONP文件
如何访问此json文件中的Marie-Antoinette.json对象?我想获取对象的title元素,但似乎无法将其输出。这是我的JavaScript代码,它输出对象,但我似乎无法访问对象元素用JavaScript解析JSONP文件,javascript,Javascript,如何访问此json文件中的Marie-Antoinette.json对象?我想获取对象的title元素,但似乎无法将其输出。这是我的JavaScript代码,它输出对象,但我似乎无法访问对象元素 $.ajax( { type: 'GET', url: 'http://localhost:5984/movies/efadd5913f5cfd254b2861efd4001cb7', //contentType: "application/js
$.ajax(
{
type: 'GET',
url: 'http://localhost:5984/movies/efadd5913f5cfd254b2861efd4001cb7',
//contentType: "application/json; charset=utf-8",
dataType: "JSONP",
jsonpCallback: 'callback',
//async: false,
success: function(r)
{
alert("ok");
$.each(r, function(index, value){ // iterating over each object
console.log(index);
if(index == "_attachments")
{
console.log(value); //how do I output the title ("Marie-Antoinette.json") and the other stuff in the object?
}
});
}
});
这是文件。我想访问的元素位于对象的“\u attachments”元素中
{
"_id": "efadd5913f5cfd254b2861efd4001cb7",
"_rev": "6-417588bbff9aa74726b11440a86a8532",
"_attachments": {
"Marie-Antoinette.json": {
"content_type": "application/json",
"revpos": 2,
"digest": "md5-Io/Pxakfp/4R8ntjQKWMDg==",
"length": 761,
"stub": true
}
}
}
我想让我感到不快的是,它是_attachment部分中的一个对象。Marie Antoinette.json对象位于您的
\u attachments
对象中,但由于它包含
对象,因此无法使用点表示法访问它。您必须使用类似数组的表示法,将键作为字符串传递,如下所示:
success: function (response) {
console.log(response._attachments['Marie-Antoinette.json']);
}
如果您有多个“附件”,则可以通过如下循环访问它们:
success: function (response) {
$.each(response._attachments, function (i, attachment) {
console.log(attachment);
});
}
您可以使用
Object.keys
从\u附件
对象中提取密钥,然后打印它:
var title = Object.keys(r._attachments)[0];
console.log(title);
或者,如果您有多个附件:
var titles = Object.keys(r._attachments);
console.log(titles.join());
对象。键始终返回数组。在函数中:
success: function(r)
{
for (key in json._attachments) {
console.log(key); // gives the names
console.log(json._attachments[key]); // gives the content
}
}
那会给你附件里的东西