ассоциативный массив из JSON
обыскал весь интернет. Так и не нашел что-нибудь по своему вопросу.
есть массив в файле JSON (в отдельном файле)
{
"layers": [
{
"layercodename": "osm",
"layername": "Open Street Map",
"pathto": "http://{s}.tile.osm.org/{z}/{x}/{y}.png",
"layertype": "basemap",
"layertypefunction": "ltilelayer"
},
{
"layercodename": "olen",
"layername": "Треки",
"pathto": "rerere.json",
"layertype": "overlay",
"layertypefunction": "casual",
"geometry": "polyline",
"color": "#000",
"width": 1
}
]
}
Как мне сделать ассоциативный массив, на странице, чтобы в дальнейшем мне можно было оперировать объектами не на прямую прописывать каждое свойство, а обращаться к ассоциативному массиву(своеобразно универсальному массиву), который в свою очередь будет получать свойства из файла JSON? Т.е. нужно, чтобы страница прочитала массив файла json и организовала пары ключей, чтобы дальше уже пользоваться только ассоциативным массивом для формирования функций различного характера, при этому не терять объекты из массива. var associatedlayers = ( data.layercodename = layercodename, data.layername = layername, etc.):write: |
В JS нет ассоциативных массивов. У вас есть объект - свойство, это ключ считайте ключ ассоциативного массива. А так var associatedlayers = (
data.layercodename = layercodename, data.layername = layername, etc.), кроме ошибки ничего не получить. |
в этом случае, как тогда действовать?
я просто не знаю, как написать это... универсальный объект для объектов JSON |
Какой еще универсальный объект? У вас есть массив объектов "layers", получить его свойства, это layers[индекс_массива].имя_свойства.
|
var layers[value.layercodename] = L.tileLayer(value.pathto, {attribution: value.layername});
control.addBaseLayer(value.layername, layers[value.layercodename]); проблема с этим |
У вас есть массив объектов "layers"... - что это означает? Что есть такое - value.layercodename?
|
| Часовой пояс GMT +3, время: 08:34. |