JS JSON Пара Ключ и Значение - PullRequest
1 голос
/ 14 марта 2011

Это лучший способ получить ключ и значение из объекта JS:

function jkey(p){for(var k in p){return k;}}
function jval(p){for(var k in p){return p[k];}}

var myobj = {'Name':'Jack'};

alert(jkey(myobj)+' equals '+jval(myobj));

Или есть более прямой или более быстрый способ ??

Что мне нужно сделатьЯ могу назвать имя ключа и значение отдельно.функции работают и возвращают имя и значение ключа, мне просто интересно, есть ли меньший, более быстрый и лучший способ.

Вот лучший пример, я хочу получить доступ к ключу: значению как отдельным переменным, т. е. {assistant:'XLH'}, ключ = помощник, val = 'XLH';

Я использую это, только когда точно знаю, что это пара и возвращает только один ключ и значение.

formY={
    tab:[
        {
            tabID:'Main',
            fset:[
                    {
                        fsID:'Ec',
                        fields:[
                            {ec_id:'2011-03-002'},
                            {owner:'ECTEST'},
                            {assistant:'XLH'},
                            {ec_date:'14/03/2011'},
                            {ec_status:'Unreleased'},
                            {approval_person:'XYZ'},
                        ]
                    }
                ]
        }
        ]
}

Ответы [ 3 ]

1 голос
/ 14 марта 2011

Было бы лучше избегать зацикливания объекта дважды.Вы можете сделать это:

function getKeyValue(obj) {
    for(var key in obj) {
        if(obj.hasOwnProperty(key)) {
            return {key: key, value: obj[key]};
        }
    }
}

и вызвать его с помощью:

var kv = getKeyValue(obj);
alert(kv.key + ' equals ' + kv.value);
0 голосов
/ 14 марта 2011

Я считаю, что ваш вопрос немного неясен, но я подозреваю, что вы ищете:

var myobj = {'Name':'Jack'};

for(var k in myobj){
    if (myobj.hasOwnProperty(k)) {
        alert(k + ' equals ' + myobj[k]);
    }
}
0 голосов
/ 14 марта 2011

Для установки объекта из JSON в одну строку кода мне нравится использовать метод parseJSON в jQuery. Просто передайте строку JSON, и она создаст объект для вас. Тогда все, что вам нужно сделать, это использовать ваш объект obj.Property для доступа к любому значению.

var myObj = '{"Name":"Jack"}';
var person = $.parseJSON(myObj);
alert(person.Name);  // alert output is 'Jack'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...