Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python到Javascript JSON对象(Flask)_Javascript_Python_Json_Flask_To Json - Fatal编程技术网

Python到Javascript JSON对象(Flask)

Python到Javascript JSON对象(Flask),javascript,python,json,flask,to-json,Javascript,Python,Json,Flask,To Json,我正在尝试创建一个简单的Flask应用程序,其中在服务器上生成一个整数数组并发送到客户端。我想在控制台中查看整数数组。下面是app.py中的一些示例(工作)代码: from flask import Flask, render_template, request, url_for import random, json app = Flask(__name__) @app.route('/', methods=['GET']) def form(): json_helper =

我正在尝试创建一个简单的Flask应用程序,其中在服务器上生成一个整数数组并发送到客户端。我想在控制台中查看整数数组。下面是app.py中的一些示例(工作)代码:

from flask import Flask, render_template, request, url_for

import random, json

app = Flask(__name__)

@app.route('/',  methods=['GET'])
def form():
    json_helper = {}
    json_helper['randoms'] = [random.random() for _ in range(40)]
    json_object = json.dumps(json_helper)
    return render_template('sim0625.html', s_data=json_object)

if __name__ == '__main__':
  app.run(debug=True)
下面是Javascript前端的一个片段:

<script>

  var data_xyz = {{ s_data|tojson }};

  var JSONObject = JSON.parse({{data_xyz}});
  console.log(JSONObject.randoms);  

 </script>

var data_xyz={{s_data|tojson};
var JSONObject=JSON.parse({{data_xyz}});
log(JSONObject.randoms);
不幸的是,javascript在我的网页上都不起作用,显示的错误消息是“uncaughtsyntaxerror:unexpectedtokenu”

有人能解释一下如何解决这个问题吗?谢谢我猜JSON对象正在变成字符串


注意:前端的代码是根据这个SO问题改编的:

您正在通过变量
s\u data
向模板发送JSON

在模板中,您将该变量呈现为名为
data\u xyz
的JavaScript变量。在下一行中,尝试引用Jinja变量而不是JavaScript变量:

var JSONObject = JSON.parse({{data_xyz}});
改为:

var JSONObject = JSON.parse(data_xyz);

非常感谢。一个问题:我认为我的app.py中的json.dumps()方法是获取字符串并将其转换为json对象。因此,我认为客户机正在从服务器接收JSON对象(而不是字符串)。如果客户端确实接收到一个JSON对象(而不是字符串),为什么需要这两行代码?“var data_xyz={{s_data|tojson}};var JSONObject=JSON.parse({{data_xyz});”据我所知,这两行代码将字符串转换为JSON对象。@codersun3:“将obj序列化为JSON格式的str”