javascript - 区分 JSON 中的矩阵和列表列表

标签 javascript json list matrix ambiguity

假设我有矩阵

[[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/

相关文章:

javascript - C# .NET OnClientClick 返回 true 但 OnClick 未触发

ruby - 用 YAML.load 解析 json 安全吗?

javascript - 遍历json抽象语法树构建 boolean 表达式

javascript - 如何为 HTML 表格创建所需的 JSON?

python - 并排打印不同尺寸的列表

javascript - React.js - js - 添加两个字符串并使用类似变量

javascript - 我如何对重复的数组元素求和

python - 星球大战 api => IndexError : list index out of range error

c - 如何从递归查看的列表中使用sprintf保存字符串

javascript - YUI 附加正文后,在 ('click' 上)甚至不起作用