javascript - 在Django中将字符串转换为Javascript中的字典列表
问题描述
在我的上下文中,有一个名为“spots”的变量。我有一个脚本,我在文档中打印它
<script >
var spotss = "{{ spots }}";
document.write(spotss)
</script>
上面的代码产生以下结果:
[{u'rider_ability': u'Beginner, Intermediate, Expert', u'spot_distance': 2, u'water_type': u'Shallow, Chop, Small wave', u'water_quality': u'Clean', u'lat': 40.4026, u'lng': 14.9949, u'spot_name': u'Paestum'}, {u'rider_ability': u'Beginner, Intermediate, Expert', u'spot_distance': 2, u'water_type': u'Shallow, Chop, Small wave', u'water_quality': u'Clean', u'lat': 40.4271, u'lng': 14.9818, u'spot_name': u'Ponte di Ferro'}, {u'rider_ability': u'Beginner, Intermediate, Expert', u'spot_distance': 9, u'water_type': u'Shallow, Flat, Chop, Small wave', u'water_quality': u'Clean', u'lat': 40.343, u'lng': 14.9717, u'spot_name': u'Agropoli'}, {u'rider_ability': u'Beginner, Intermediate, Expert', u'spot_distance': 21, u'water_type': u'Chop, Small wave', u'water_quality': u'Clean', u'lat': 40.2315, u'lng': 14.9566, u'spot_name': u'Case del Conte'}, {u'rider_ability': u'Beginner, Intermediate, Expert', u'spot_distance': 26, u'water_type': u'Small wave', u'water_quality': u'Clean', u'lat': 40.1856, u'lng': 15.0239, u'spot_name': u'Acciaroli'}, {u'rider_ability': u'Intermediate, Expert', u'spot_distance': 28, u'water_type': u'Flat, Chop', u'water_quality': u'Crystal clear', u'lat': 40.1732, u'lng': 15.0846, u'spot_name': u'Pioppi'}, {u'rider_ability': u'Beginner, Intermediate, Expert', u'spot_distance': 31, u'water_type': u'Chop, Small wave', u'water_quality': u'Clean', u'lat': 40.1641, u'lng': 15.1423, u'spot_name': u'Marina di Casal Velino'}, {u'rider_ability': u'Expert', u'spot_distance': 35, u'water_type': u'Flat, Chop, Small wave', u'water_quality': u'Clean', u'lat': 40.6436, u'lng': 14.6984, u'spot_name': u'Cetara'}, {u'rider_ability': u'Intermediate, Expert', u'spot_distance': 35, u'water_type': u'Shallow, Flat, Chop, Small wave', u'water_quality': u'Clean', u'lat': 40.6775, u'lng': 14.7587, u'spot_name': u'Salerno'}, {u'rider_ability': u'Intermediate, Expert', u'spot_distance': 42, u'water_type': u'Chop, Small wave', u'water_quality': u'Crystal clear', u'lat': 40.6262, u'lng': 14.5883, u'spot_name': u'Spiaggia Duoglie'}]
这是一个字典列表,可能是一个“字符串”。
现在我需要将此字典列表迭代到同一 html 上的另一个脚本中,并且我还需要在循环时访问字典值。我能怎么做?
解决方案
使用 Django 的安全过滤器:
<script >
var spotss = "{{ spots | safe}}";
document.write(spotss);
</script>
或者您可能需要:
<script >
var spotsArray = {{ spots | safe}};
spotsArray.forEach(function(spot) {
console.log(spot)
});
</script>
spotsArray
包含一个对象列表,您可以使用forEach
推荐阅读
- java - Spring Boot 测试过滤器
- reactjs - Native Base Picker 项目移动标题下的对象
- powershell - 使用 Powershell 对 CSV 数据进行分组和通过电子邮件发送
- exception - HP 通用打印驱动程序 (UPD) 7.0
- google-cloud-firestore - 错误:发生网络错误(如超时、连接中断或主机无法访问)
- airflow - 哪个性能更高:创建 1000+ DAG 或 1 DAG w/1000+ 任务?
- kotlin - 如何使用 ESC/POS 设置字符集?
- mobile - 我可以使用我编译的 Nativescript 项目继续构建原生应用程序吗?
- json - 如何在 Angular 中测试定期获取 json
- java - 从 OpenAPI 规范生成代码,包括示例和描述