代码之家  ›  专栏  ›  技术社区  ›  michaelitoh

在JavaScript中定义json键有什么规则吗?

  •  0
  • michaelitoh  · 技术社区  · 6 年前

    JavaScript 我一直在找这个问题,但没有任何答案。我的问题是是否有任何规则来定义 JSON 输入JavaScript。

    例如,在 python 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]);
    1 回复  |  直到 6 年前
        1
  •  2
  •   Jonas Wilms    6 年前

    对象键是字符串。任何非字符串的内容都转换为字符串。

     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"]);