假设我有矩阵
[[1, 2, 3, 4]
[5, 6, 7, 8]
[9,10,11,12]]
和列表列表
[[1,2,3,4],[5,6,7,8],[9,10,11,12]]
正在使用哪些 JSON 表示形式可以毫无歧义地区分这两者?
最佳答案
注意:我认为如果您在问题中添加“JavaScript”标签,您可以获得更多关注和更好的答案。
第一个矩阵根据https://jsonformatter.curiousconcept.com/
[[1, 2, 3, 4]
[5, 6, 7, 8]
[9,10,11,12]]
不是有效的 JSON 格式,所以我认为您可能必须将其编写为二维数组,如下所示:
[[1, 2, 3, 4],
[5, 6, 7, 8],
[9,10,11,12]]
由于 JSON 的空格被忽略 ( Are whitespace characters insignificant in JSON? ),因此代码将相当于 [[1,2,3,4],[5,6,7,8],[9,10,11, 12]]。这意味着当您传递 AJAX 调用时,您将获取/发送(无论是 GET 还是 POST)[[1,2,3,4],[5,6,7,8],[9,10,11, 12]] 格式。因此,JavaScript 对象表示法 (JSON) 中的矩阵在此列表中表示。
但是,如果您确实想将 Matrix 与 JSON 中的其他列表列表区分开来,您可以向其中添加一个对象以指定此列表列表是特殊的。
{
"ImportantMatrix": [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
}
返回此 JSON 后,您可以使用 JavaScript 检索矩阵。就像这里显示的例子:
var text = '{"ImportantMatrix": [[1,2,3,4],[5,6,7,8],[9,10,11,12]]}';
obj = JSON.parse(text);
document.getElementById("demo").innerHTML =JSON.stringify(obj.ImportantMatrix)
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
</body>
</html>
片段取自:http://www.w3schools.com/js/tryit.asp?filename=tryjs_json_parse
但是,这是假设您拥有完全控制权并且可以更改所获取的 JSON 的格式。
关于javascript - 区分 JSON 中的矩阵和列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37326162/