[英]How to parse json response in jQuery mobile?
我是jQuery Mobile的新手。 我正在尝试从联系人那里获取联系人姓名。 通过发送AJAX请求进行JSON。 但是,当我单击“提交”按钮时,我没有收到任何警报。
我的jQuery ajax请求
$(document).ready(function() {
//after button is clicked we download the data
$("#submit").click(function(){
//start ajax request
$.ajax({
url: "myURL/contacts.json",
dataType: "json",
success: function(data) {
var json = $.parseJSON(data);
alert(json.name);
});
});
});
Contacts.json
{
"contacts": [
{
"id": "c200",
"name": "Ravi Tamada",
"email": "ravi@gmail.com",
"address": "xx-xx-xxxx,x - street, x - country",
"gender" : "male",
"phone": {
"mobile": "+91 0000000000",
"home": "00 000000",
"office": "00 000000"
}
},
{
"id": "c201",
"name": "Johnny Depp",
"email": "johnny_depp@gmail.com",
"address": "xx-xx-xxxx,x - street, x - country",
"gender" : "male",
"phone": {
"mobile": "+91 0000000000",
"home": "00 000000",
"office": "00 000000"
}
},
.
.
.
.
]}
如何为上述ajax响应生成动态可点击列表?
从它的外观来看,您的json将是一个对象数组。 尝试执行json [0] .Name进行测试
dataType: "json"
已经将返回的数据指定为json对象。 因此,要读取值,您可以简单地使用对象语法:
success: function(data) {
//cycle trough returned "contacts":
for(var i=0;i<data.contacts.length;i++){
console.log(data.contacts[i].name);
}
}
首先,我们的代码格式错误(智能引号,括号的位置错误)。 其次,由于您的联系人位于数组中,因此您无法使用json.name
访问,而应尝试如下操作:
$(document).ready(function () {
//after button is clicked we download the data
$("#submit").click(function () {
//start ajax request
$.ajax({
url: "myURL/contacts.json",
dataType: "json",
success: function (data) {
var json = $.parseJSON(data);
json.contacts.forEach(function(val, ind, arr){
alert(val.name);
});
}
});
});
});
您的json数据存在于联系人中,因此您应该以这种格式命名。
var json = $.parseJSON(data);
alert(json.contacts[0].name);
代替解析JSON,您可以执行以下操作:
$.ajax({
..
dataType: 'json' // using json, jquery will make parse for you
});
要访问JSON的属性,请执行以下操作:
data[0].name;
data[0].email;
为什么需要data [0]因为数据是一个数组,所以要获取其内容,需要data [0](第一个元素),它为您提供了一个对象{“ name”:“ myName”,“ address”:“ myAddress” }。
而访问对象规则的属性是:
Object.property
有时
Object["property"] // in some case
所以你需要
data[0].name
等,以获取所需的内容。
如果没有
设置dataType: json
然后您需要使用$.parseJSON()
解析它们并检索如上的数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.