我是jQuery的新手。以下是包含json字典的data
变量。
{
"user":null,
"currency":"EUR",
"balance":0,
"translist": [
{ "trans1":"something","trans2":"something2" }
]
}
我的jQuery方法从Rest json/Javascript object
调用
GET
success: function (data){
for(x in data) {
console.log(x + ': ' + data[x]);
}
});
是否有任何库可以帮助解析/遍历此json对象并获取某种对象列表?我想检查一些键及其各自的值。问题是我不需要列表中的所有键和值,并且一些值可能为null,这使我无法应用我使用SO找到的一些解决方案。
或者通常在成功函数中直接开始打印HTML更常见吗?
编辑:如果它是java,例如它将是一个Map,我将使用迭代器遍历并查看/分析地图值,并使用我想要的值创建一些数组列表。在jQuery中有什么相同的东西?答案 0 :(得分:3)
如果它是java,例如它将是一个Map,我会使用 迭代器遍历并查看/分析地图值,并创建 一些具有我想要的价值的arraylist。有什么相同的 在jQuery?
Any javascript object can be seen as an associative map
例如,您可以data['currency']
直接访问货币。
您还可以构建一个数组:
var a = [];
for (var key in data) {
a.push({key:key, value:data[key]});
}
您还可以构建一些HTML并将函数应用于数据:
$(document.body).append($(
'<table>' + a.map(function(v){
return '<tr><td>'+v.key+'</td><td>'+v.value+'</td></tr>'
}).join('')+'</table>'
));
使用jQuery可以使相同的迭代变得更简单(直接从data
开始):
$(document.body).append($(
'<table>' + $.map(data, function(value,key){
return '<tr><td>'+key+'</td><td>'+value+'</td></tr>'
}).join('')+'</table>'
));
答案 1 :(得分:1)
尝试使用each
success: function (data){
$.each( data, function( key, value ) {
if(key === "currency")
alert( key + ": " + value );
});
});