я хотел бы вывести массив json_encode в массив javascript - PullRequest
1 голос
/ 30 июня 2011

если мой json_encode выводит вот так.

[{"id":"nameid","src":"http#"},{"id":"nameid","src":"http#"}]

как я могу превратиться во что-то вроде:

[["name1","address1"],["name2","address2"]]

Ответы [ 2 ]

1 голос
/ 30 июня 2011
var obj, result, source, _i, _len;
  source = [
    {
      "id": "nameid",
      "src": "http#"
    }, {
      "id": "nameid",
      "src": "http#"
    }
  ];
  result = [];
  for (_i = 0, _len = source.length; _i < _len; _i++) {
    obj = source[_i];
    result.push([obj.id, obj.src]);
  }

(Это было сгенерировано coffeescript. К вашему сведению, источник кофейных текстов значительно меньше)

source = [{"id":"nameid","src":"http#"},{"id":"nameid","src":"http#"}]
result = []
result.push([obj.id, obj.src]) for obj in source
0 голосов
/ 30 июня 2011

Предполагая, что вы имеете в виду, что name1 - это значение nameid из первого объекта и т. Д. *

Преобразуйте его в нужный формат массива, прежде чем передать его в json_encode(). Нечто подобное может работать для вас:

// Assuming your objects are an array $objects
$output_array = array();
foreach ($objects as $o) {
  // Put the two properties from the object into an array
  // and append it to $output_array
  $output_array[] = array($o->id, $o->src);
}

// Encode the array as json
$json = json_encode($output_array);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...