Как получить ключ и значение из строки JSON - PullRequest
2 голосов
/ 28 мая 2010

У меня есть строка JSON в этом формате:

{
  "supplier": {
    "mov_10": "love actually",
    "mov_1": "fare"
  },
  "quantity": 20,
  "success": true,
  "length":2
}

Теперь я хочу создать поле выбора ниже, используя объект supplier (используя ключи и значения), например:

<select id="selectme">
    <option id="mov_10">love actually</option>
    <option  id="mov_1">fare</option>
</select>

Так как мне его создать? Я просто хочу знать, как достичь mov_10 и mov_1 в объекте. Извините за мой плохой английский, но, пожалуйста, помогите мне.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 28 мая 2010

Используйте оператор for ... in для перебора ключей:

for ( var k in someObject.supplier ) {
    someOption.value = k;
    someOption.text  = someObject.supplier[ k ];
}
0 голосов
/ 28 мая 2010

Если я правильно понял вопрос, думаю, вы могли бы использовать что-то подобное:

var jsonArray = ... ; // {"supplier": ... } (JS Object)
var supplierOptions = jsonArray.supplier;

// TODO: remember to set up selectme!

for(var optionId in supplierOptions) {
    if(!supplierOptions.hasOwnProperty(optionId)) {
        continue;
    }

    var optionValue = supplierOptions[optionId];

    // operate with name and value here (append to select ie.)
    $("#selectme").append('<option id="' + optionId + '">' + optionValue + '</option>');
}

Код, вероятно, может использовать некоторую очистку. Надеюсь, он передает основную идею.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...