代码之家  ›  专栏  ›  技术社区  ›  BB-8

这个JSON对象{yourVariable:“nothing yet”}中的键的类型是什么

  •  2
  • BB-8  · 技术社区  · 7 年前

    Chrome开发者控制台是 console.log

    Your JSON sent is>> {yourVariable: "nothing yet"}
    

    所以我知道它的价值 "nothing yet" {yourVariable: "nothing yet"} yourVariable ?

    2 回复  |  直到 7 年前
        1
  •  3
  •   A l w a y s S u n n y    7 年前

    所有对象键都是带引号或不带引号的字符串 . 试着这样看。可能是因为控制台打印,所以您对控制台打印感到困惑 我们通常写 .

    var jsonObj = {person:"me","age":"30", 123:"123"};
    Object.keys(jsonObj).forEach(function(key){
       console.log(typeof key)}
    );
    
        2
  •  0
  •   gview    7 年前

    我对这个问题有一个稍微不同的看法,这不会使你收到的评论或回答无效,但值得考虑。

    JSON.org page

    JSON(JavaScript对象表示法)是一种轻量级数据交换 总体安排人类很容易读写。这对于

    关键是,JSON(javascript对象、数组等的表示)与javascript中这些类型的变量之间存在差异。

    如果你提醒自己JSON是序列化的一种形式,那就更有意义了。例如,Javascript对象可以包含函数,但Javascript函数不是可移植的东西,因此在从Javascript对象呈现一些JSON时,创建JSON的语言需要做任何事情,以转换需要表示的数据,这可能包括简化,在许多情况下删除不兼容JSON的元素。

    另一件需要记住的事情是,所有现代语言都有函数或库,可以解析JSON并将其转换为在这些语言中工作的变量或对象。在这样做时,它们的参数可以完全改变JSON转换回实例变量的方式。

    总之,JSON根本没有数据类型的变量。它是一种数据表示,可以跨语言移植,但语言必须解码JSON并创建在其自身运行时有效的对象或变量。