javascript - 如何使用 JSON 将数组从 Twig 传递到 Javascript
问题描述
我需要你的帮助来创造奇迹。
我想将 Twig 数组转换为 Javascript 数组,然后在循环中使用它并为 Google API 创建标记。
<script>
var map, marker, i, e;
var companies = {{ companies.items | json_encode() | raw }};
console.log(companies);
var address = {{ search.city.first.name | json_encode() | raw }};
function initMap() {
var geocoder = new google.maps.Geocoder();
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 44.8333, lng: -0.5667},
zoom: 12,
disableDefaultUI: true
});
//for (i = 0; i < locations.length; i++) {
//marker = new google.maps.Marker({
//position: new google.maps.LatLng(locations[i][1], locations[i][2]),
//map: map
//});
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=APIKEYLOL&callback=initMap"></script>
当我拿回我的阵列时,公司会向我展示一个空阵列。
但是当我把它倒在树枝上时,我的数组还可以..
有人能帮我吗?
解决方案
json_encode
默认情况下,将通过输出所有公共(即可访问)属性来序列化对象。由于您的对象没有公共属性,因此序列化是空的。你可以实现JsonSerializable
接口。(恕我直言,最简单的解决方案)
还有其他更复杂的方法可以实现这一点。如果 json 序列化会因上下文而有所不同,它们就会变得相关......替代方案是实现一个 twig 函数,该函数将从您的对象中获取某些字段,编写一个适当的序列化程序或在您的对象上实现函数,这些函数根据上下文公开适当的序列化.
推荐阅读
- sql - 删除 Postgresql 表任意列中的字符串
- python - Python 的 shutil.wich('docker') 有时会返回空结果
- excel - 根据单元格值的单元格范围
- windows - 在命令提示符下生成 *.txt 文件有效,但在 *.bat 文件中无效
- php - FOR 和 WHile 循环在 laravel 控制器中工作
- python-3.x - 如何在 pyroute2 的 IPRoute().vlan_filter api 中提供 vlan 范围?
- python - 如何将输入值从 csv 文件传递给可执行文件?
- linux - Cron 作业尝试发送两封电子邮件
- python - 在python中通过正则表达式匹配一组单词
- admob - AdMob 奖励广告:由于应用尚未发布,因此无法链接到商品详情。如果应用未链接,则无法测试 SSV 流