将数组从前端传递到后端,经过运算将json类型的数据返回给前端
[[1,2],[4,5]] [[1,1], [1,1]]大概就是这样一个二维数组
@app.route('/t',methods=["GET", "POST"])
def t():
a = request.form['a'] # 接受从前端发送过来的数据
b = request.form['b']
A = np.array(a)
B = np.array(b)
S1 = linalg.solve(A, B) # 对方程组进行求解
S1 = np.ndarray.tolist(S1) #
return jsonify(S1)
tolist是为了将array换换为list
这是我一开始写的
会报错
could not convert string to float: "[[1,2],[4,5]]"
然后我查看了 A的类型为numpy.array A=[[1,2],[4,5]],
没毛病呀
然后又查看了shape,但是发现只有一个括号 ()
说明我在 str --> array 是出错
然后我吧str转换为list, list(a) 在转换为 array
打印list 返现变成了 ["[" "1", "2" "]", .........
反正是除了最外边的括号都变成了字符串,我又不想用正则
在经过了一通查找之后发现一个函数eval() 次函数会将srt,转换为list,dict .... 具体的自行百度
最后的程序是这样的
@app.route('/t',methods=["GET", "POST"])
def t():
a = request.form['a'] # 接受从前端发送过来的数据
b = request.form['b']
a = eval(a) # 将str转换为list
b = eval(b)
A = np.array(a) # 将list转换为array
B = np.array(b)
S1 = linalg.solve(A, B) # 对方程组进行求解
S1 = np.ndarray.tolist(S1) #
return jsonify(S1)