我如何使用像阵列这样的JSON数据

时间:2010-06-07 00:48:49

标签: javascript jquery json

我有这样的json数据:

{"Adobe Photoshop":"70","Adobe Premier":"71","Animasyon":"72","AutoCAD":"73","Bro\u015f\u00fcr & Bilet":"75","CorelDraw":"76","Flash":"77","Grafik Tasar\u0131m":"68","Karikat\u00fcr":"78","Kartvizit Tasar\u0131m":"79","Logo Tasar\u0131m":"80","Poster":"81","Reklam Tasar\u0131m":"74","Ses D\u00fczenleme":"82","Video D\u00fczenleme":"69","Web Tasar\u0131m":"83"}

首先想想(Adobe Photoshop)意味着标签名称,第二件事(70)意味着标签ID。我想在jquery like array中使用这些信息来为每个标记构建复选框。我怎么能这样做?感谢

3 个答案:

答案 0 :(得分:3)

您正在寻找for in循环,如下所示:

for(var key in something) {
    if (!something.hasOwnProperty(key)) continue;    //Skip inherited members

    var value = something[key];
    //Do things...
}

请注意,未定义迭代顺序。

答案 1 :(得分:1)

您需要for...in声明:

var i;
for (i in hash) {
    doSomething(i, hash[i]);
}

答案 2 :(得分:1)

这样的东西?

http://jsfiddle.net/LKNKB/

var data = {"Adobe Photoshop":"70","Adobe Premier":"71","Animasyon":"72","AutoCAD":"73","Bro\u015f\u00fcr & Bilet":"75","CorelDraw":"76","Flash":"77","Grafik Tasar\u0131m":"68","Karikat\u00fcr":"78","Kartvizit Tasar\u0131m":"79","Logo Tasar\u0131m":"80","Poster":"81","Reklam Tasar\u0131m":"74","Ses D\u00fczenleme":"82","Video D\u00fczenleme":"69","Web Tasar\u0131m":"83"};

var $div = $('<div/>');

for(var name in data) {
    $('<input/>',{ type:"checkbox", value:data[name] }).appendTo($div);
    $('<label/>',{ text:name }).appendTo($div);
    $('<br/>').appendTo($div);
}

$div.appendTo('body');​