使用JSON数组键或值填充html模式

时间:2013-07-25 18:50:02

标签: jquery json

我有一个非常简单的问题,我很惊讶我还没弄明白。我错过了什么?我通过json编码获得了一个php数组:

var curr_op = <?php echo json_encode($options) ?>;

console.log(curr_op)读取:

[14:35:00.889] ({' ':" ", 'Tangential-S1':"Tangential-S1", 'Diagonal-Q1':"Diagonal-Q1", addnew:"Add New"})

我想通过以下方式将密钥(或值)传递给html:

$('#modal-body span2').html(JSON.stringify(curr_op));

这给了我一个丑陋的事情:

{" ":" ","Tangential-S1":"Tangential-S1","Diagonal-Q1":"Diagonal-Q1","addnew":"Add New"}

在我的网页上。我该如何清理它,只传递类似:

切向-S1,对角线-Q1

到html(注意也应删除第一个和最后一个元素)。

2 个答案:

答案 0 :(得分:1)

这是一个小提琴:http://jsfiddle.net/X8E9R/2/

function getPropsAsString(curr_op) {        
    var props = [];
    for (prop in curr_op) {
        var value = curr_op[prop];

        // filter them by some logic
        if (value === " " || value === "Add New")
            continue; // skip it

        props.push(prop);
    }

    // do whatever you want with the properties
    props.sort(); // maybe you want to sort them?

    return props.join(", ");
}

$('#modal-body span2').html( getPropsAsString(curr_op) ); 

答案 1 :(得分:0)

如果你想在你的javascript中解码JSON,写下类似的东西:

var decoded_json = $.parseJSON(curr_op);    
$('#modal-body span2').html(decoded_json.Tangential-S1 + ', ' + decoded_json.Diagonal-Q);