如何从JsonObj获取键值

时间:2015-06-26 14:29:55

标签: javascript jquery json

我有一个json这样的对象实际上是动态的。 例如,我们可以使用这个Json对象。

var JsonObj= { "one":1, "two":2, "three":3, "four":4, "five":5 };

但我希望使用javascriptjquery更改此类内容。

var sample = [

 {
  "label":"one",
  "value":1
 },

 {
  "label":"two",
  "value":2
 },
 {
  "label":"three",
  "value":3
 },
 { 
  "label":"four",
  "value":4
 },
 { 
  "label":"five",
  "value":5
  }

 ];

4 个答案:

答案 0 :(得分:5)

var JsonObj= { "one":1, "two":2, "three":3, "four":4, "five":5 };
var arr = [];
for(property in JsonObj) {
    arr.push(
             {"label":property, 
             "value":JsonObj[property]})
};

答案 1 :(得分:1)

您可以使用Object.keys方法

来实现这一目标

var keys = Object.keys(myJSONObject);

答案 2 :(得分:1)

   with open('1.txt','r') as inF:
    with open('12.txt', 'w') as outF:

        for line in inF:
            if line not in ('\n','\r\n'):
                t = []
                s = line.split()
                t.append(s[3]+'4615_'+s[4]+'_hd.'+s[0].split('.')[1].lower())
                t.append('/opt/AutoPrivilege/client/photos/' + s[1])
                t.append(s[2]+'\n')
                outF.write(' '.join(t))

            else:
                outF.write(line)

用法:

function convertToLabelValue(object){
    return Object.keys(object).reduce(function(acc,label){
        acc.push({
            "label": label,
            "value": object[label]
        });
        return acc;
    },[]);
}

输出:

convertToLabelValue({ "one":1, "two":2, "three":3, "four":4, "five":5 })

答案 3 :(得分:1)

要使用JQuery,请尝试以下操作:

var JsonObj= { "one":1, "two":2, "three":3, "four":4, "five":5 };
var sample = [];
$.each(JsonObj, function(key, val){
    sample.push({'label': key, 'value': val});
});

这是一个jsfiddle - https://jsfiddle.net/c6ojsb6c/2/

点击f12查看最终JSON的控制台。