一尘不染

Django:使用Javascript解析模板中的JSON

json

我认为:

string_location = myaddress2
    geodata = []
    for place, (lat, lng) in g.geocode(string_location,exactly_one=False):
        geodata.append((place, (lat, lng)))

    geodata_results = len(geodata)

    data = {"geodata": geodata, "geodata_results":geodata_results }
    return render_to_response("business/business_view.html",
                              data, context_instance=RequestContext(request))

如何将 地理数据 “处理” /转换为JSON并将其传递到模板,以便像数组一样“循环”通过它?

我认为我可以这样做是对的吗?如果没有,请提出更好的解决方案。

谢谢!

更新

var geodata = "[["M. L. Quezon Street<br/>Mandaue City, Philippines", [10.351381999999999, 123.923535]], ["Talamban<br/>Cebu City, Philippines", [10.353527, 123.91352500000001]]]";

我认为JSON无法逃脱?如何在json字符串中转义特殊字符?我不断收到换行错误。

对于PHP,我将使用json_encode()进行修复。


阅读 213

收藏
2020-07-27

共1个答案

一尘不染

您可以使用内置json模块:

>>> import json
>>> geodata = [ ( "Here", (1003,3004) ), ("There", (1.2,1.3)) ]
>>> json.dumps(geodata)
'[["Here", [1003, 3004]], ["There", [1.2, 1.3]]]'

然后,您可以简单地将结果字符串嵌入javascript脚本中:

<script type='text/javascript'>
var geodata = {{ geodata|safe }};
</script>
2020-07-27