我有一个字符串应该被解析为 JSON,而不是应该被转换为 Float32Array。 字符串看起来像这样:
{"vertices":"[-1.0, -1.0, -1.0, -1.0, -1.0, 0.0, 1.0, -1.0, 0.0]"}
数组应该分配给一个变量,例如:
mesh.vertices = new Float32Array([-1.0, -1.0, -1.0, -1.0, -1.0, 0.0, 1.0, -1.0, 0.0]);
如何转换字符串,使数组由 float 组成? 出于安全原因,我不想使用 eval()。
最佳答案
你可以使用 JSON.parse :
mesh.vertices = new Float32Array(JSON.parse(myString).vertices);
这是假设你的意思是:
{"vertices":[-1.0, -1.0, -1.0, -1.0, -1.0, 0.0, 1.0, -1.0, 0.0]}
如果 JSON 实际上如您所说(FWIW 有点奇怪),它将是:
mesh.vertices = new Float32Array(JSON.parse(JSON.parse(myString).vertices));
关于javascript - 在 Javascript 中将字符串转换为类型化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9586432/