我有以下格式的数据:
[{"data":{"maximum_seconds":"-1","emergency_address_code":"","e999_code":""},{"data":{"maximum_seconds":"-1","emergency_address_code":"","e999_code":""}}]
我正在尝试使用JQuery进行阅读。
我尝试了多种选择,但似乎都没有用。
for(var i in data) {
console.log( data.maximum_seconds);
console.log( data[i].maximum_seconds);
}
console.log( x[1].maximum_seconds);
我的代码如下:
var x = voip_get_numbers('',``); var x = voip_get_numbers('',``); x.done(function(data){ $('#d')。append(data);
for(var i in jsonObjData) {
console.log( data[i] );
}
});
我的任何JQuery函数是:
function voip_get_numbers(account_seq, customer) {
return $.ajax({
url : '/section/voip/numbers',
type: "GET",
data: {
"action": "list_numbers",
"seq": account_seq,
"customer": customer,
},
datatype: 'json',
});
}
我确实尝试了其他方法,但是我的代码已被覆盖,所以我没有它-我认为这是一个相当简单的任务,但是我对JQuery和JS并不是最好的选择,所以请原谅我的无知。
请帮忙。
谢谢
答案 0 :(得分:1)
没有某些jQuery可以确定(某些性能已指定)。
但是,您的JSON的结构不正确。应该看起来像这样。
[
{
"data": {
"maximum_seconds": "-1",
"emergency_address_code": "",
"e999_code": ""
}
},
{
"data": {
"maximum_seconds": "-1",
"emergency_address_code": "",
"e999_code": ""
}
}
]
示例:
var a = [{
"data": {
"maximum_seconds": "-1",
"emergency_address_code": "",
"e999_code": ""
}
}, {
"data": {
"maximum_seconds": "-1",
"emergency_address_code": "",
"e999_code": ""
}
}]
//Syntax 1
for (var i in a) {
console.log(a[i].data.maximum_seconds);
console.log(a[i].data.emergency_address_code);
console.log(a[i].data.e999_code);
}
//Syntax 2
for (var i = 0; i < a.length; i++) {
console.log(a[i].data.maximum_seconds);
console.log(a[i].data.emergency_address_code);
console.log(a[i].data.e999_code);
}
//Syntax 3
a.forEach( x => {
console.log(x.data.maximum_seconds);
console.log(x.data.emergency_address_code);
console.log(x.data.e999_code);
} );
然后为什么要重复“ data”属性。您可以这样做:
[
{
"maximum_seconds": "-1",
"emergency_address_code": "",
"e999_code": ""
},
{
"maximum_seconds": "-1",
"emergency_address_code": "",
"e999_code": ""
}
]
答案 1 :(得分:0)
您需要确保JSON
数据是JSON
对象而不是字符串。
如果您的数据是字符串,则将其转换为JSON
对象。
jQuery提供了以下方法:$.parseJSON( jsonString )
示例:
var data = '[{"data":{"maximum_seconds":"-1","emergency_address_code":"","e999_code":""},{"data":{"maximum_seconds":"-1","emergency_address_code":"","e999_code":""}}]';
var jsonObjData = $.parseJSON( data );
答案 2 :(得分:0)
您的JSON文件无效。像这样更改文件:
[{
"data": {
"maximum_seconds": "-1",
"emergency_address_code": "",
"e999_code": ""
}
}, {
"data": {
"maximum_seconds": "-1",
"emergency_address_code": "",
"e999_code": ""
}
}]
我使用JSONLint来验证文件。
比您可以使用
将字符串解析为对象var json = JSON.parse(jsonString)
要从对象获取数据,请使用
for (var j in json) {
var maximum_seconds = j.data.maximum_seconds
var emergency_address_code = j.data. emergency_address_code
var e999_code = j.data. e999_code
// ... your code
}