javascript - 在 JavaScript 中定义 json 键有什么规则吗?
问题描述
我正在学习JavaScript
,我一直在寻找这方面的信息,但我没有得到任何答案。我的问题是是否有任何规则可以JSON
在 JavaScript 中定义键。
例如,python
有一个规则定义 dict 并且是All the keys must be of an immutable data type such as strings, numbers, or tuples.
var json = {};
json[""] = "White space";
json[" "] = "Two white space";
var emptyJSON = {};
var emptyArray = [];
function a (){}
json[a] = "Function";
json[emptyJSON] = "Json";
json[emptyArray]= "Array";
//I don't know why this property whit an empty array does not appear when I console the json
console.log("Print the entire object =>", json);
//But it appears when I console the specific property
console.log("Print empty array property =>", json[emptyArray]);
解决方案
对象键是字符串。任何不是字符串的内容都将转换为字符串。
var obj = {};
obj[1] = 1;
console.log(obj["1"]);
obj[{}] = 2;
console.log(obj["[Object object]"]);
obj[[1, 2]] = 3;
console.log(obj["1,2"]);
推荐阅读
- jenkins - 在 Windows 上使用服务帐户运行 jenkins
- c# - 如何直接从 Outlook 2010 收件箱中为多个用户检索电子邮件,用于 VSTO Outlook 加载项
- android - 如何获取谷歌地图中两个位置之间的总旅行时间?
- visual-studio - VS2017无法更改安装位置
- java - FindBugs 未检测到 SQL 注入
- docker - 基于 Docker 的解决方案中的 Apache Spark 和 Apache Airflow 连接
- python - 使用 networkx 在文件(例如 gml、graphml 或 nnf)中写入嵌套网络
- f# - 如何使用 Azure Devops Pipelines 构建 F# 项目?我收到错误“项目中不存在目标“构建””
- python-3.x - 使用 Python 3.6 和 pymssql 连接到 Sybase 数据库
- c++ - 共享内存的 boost 容器是否实现了锁定?