Строка JSON обрабатывается как литеральная строка в цикле

Я подозреваю, что это простая проблема, но я немного новичок в js и не могу найти решение.

По сути, когда я передаю строку JSON в функцию, а затем пытаюсь выполнить итерацию по переданной переменной, она обрабатывает ее как буквальную строку, а не как массив.

С помощью этой функции:

function build_codes_long(codes) {
   var codes_long_text = "";
   for(var i =0;i < codes.length-1;i++) {
      var code = codes[i];
      codes_long_text += "<p>" + code['id'] + " = " + code['del'] + "</p>";
   }
return codes_long_text; 
}

Когда я передаю ей строку JSON, например:

[{"id":"1","del":"0","clip":"1"},{"id":"2","del":"0","clip":"1"}]

Она оценивает каждый символ в строке, а не каждый элемент в массиве. Таким образом, он повторяется 65 раз вместо 2, возвращая что-то вроде:

undefined = undefined

Я понимаю проблему с возвращаемыми значениями; это обработка массива как буквальной строки, которую я не понимаю. Спасибо!

9
задан Rocket Hazmat 25 May 2012 в 07:40
поделиться