1

我是 jQuery 的新手。以下是data包含 json 字典的变量。

{
   "user":null, 
   "currency":"EUR",
   "balance":0,
   "translist": [ 
       { "trans1":"something","trans2":"something2" }
   ]
}

我的 jQuery 方法json/Javascript object从 RestGET调用中接收到一个

success: function (data){    
        for(x in data) {
            console.log(x + ':   ' + data[x]);
        }       
    });

是否有任何库可以帮助解析/遍历此 json 对象并获取某种对象列表?我想检查一些键及其各自的值。问题是我不需要列表中的所有键和值,而且一些值可以为空,这使我无法应用我使用 SO 找到的一些解决方案。

或者通常在success函数中直接开始打印HTML更常见?

编辑:如果它是 java 例如它将是一个 Map 并且我将使用迭代器来遍历并查看/分析地图值,并使用我想要的值创建一些数组列表。jQuery 中的等价物是什么?

4

2 回答 2

3

例如,如果它是 java,它将是一个 Map,我将使用一个迭代器来遍历并查看/分析映射值,并创建一些包含我想要其中的值的数组列表。jQuery中的等价物是什么?

任何 javascript 对象都可以看作是关联映射

例如,您可以直接访问货币为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>'
));

示范

于 2013-01-08T09:43:37.760 回答
1

尝试使用each

success: function (data){   
    $.each( data, function( key, value ) {
        if(key === "currency")
            alert( key + ": " + value );
    });   
});
于 2013-01-08T09:49:36.417 回答