Javascript 我不知道';我不懂JSON。需要帮忙清理一些东西吗

Javascript 我不知道';我不懂JSON。需要帮忙清理一些东西吗,javascript,json,Javascript,Json,这就是我的工作 jsonobject = { "products": [ { "ProductABC-001": { "attributes": [ { "color": "blue" }, { "size": "large" } ] } } ] }; 这是一个真实/纯JSON对象,还是被

这就是我的工作

jsonobject = {
  "products": [
    {
      "ProductABC-001": {
        "attributes": [
          {
            "color": "blue"
          },
          {
            "size": "large"
          }
        ]
      }
    }
  ]
};
  • 这是一个真实/纯JSON对象,还是被认为是其他对象
  • 如果答案是“否”,那么它与纯/真JSON对象有什么不同
  • 为什么下面的返回“undefined”而不是“Array”?从我的角度来看,我在products节点的第一个元素中,这意味着下一个级别是一个属性数组。这显然是错误的
  • jsonobject.products[0]。属性[0]

  • 这里根本没有JSON。您拥有的是用于创建Javascript对象的Javascript对象文本

  • JSON是数据的文本表示。JSON语法是Javascript对象和数组文本语法的子集。在
    =
    之间的对象文字
    恰好遵循更严格的JSON语法,因此您可以将这部分源代码作为JSON使用

  • 因为从
    jsonobject.products[0]
    获取的对象没有任何
    属性

  • 您将使用
    jsonobject.products[0]['ProductABC-001'].attributes[0]
    ,它返回对象
    {“color”:“blue”}


    从我所看到的,您所需要的只是一个产品对象数组,它有一个名称和一个具有属性的对象:

    var products = [
      {
        name: "ProductABC-001",
        attributes: {
          color: "blue",
          size: "large"
        }
      }
    ];
    
  • 这里根本没有JSON。您拥有的是用于创建Javascript对象的Javascript对象文本

  • JSON是数据的文本表示。JSON语法是Javascript对象和数组文本语法的子集。在
    =
    之间的对象文字
    恰好遵循更严格的JSON语法,因此您可以将这部分源代码作为JSON使用

  • 因为从
    jsonobject.products[0]
    获取的对象没有任何
    属性

  • 您将使用
    jsonobject.products[0]['ProductABC-001'].attributes[0]
    ,它返回对象
    {“color”:“blue”}


    从我所看到的,您所需要的只是一个产品对象数组,它有一个名称和一个具有属性的对象:

    var products = [
      {
        name: "ProductABC-001",
        attributes: {
          color: "blue",
          size: "large"
        }
      }
    ];
    

    1/2。不,它不是,
    =
    符号不是该符号的一部分。您必须删除
    jsonobject=
    位才能使其成为“纯”JSON。(您可以在此处验证任何JSON:)

    对于3,@davin tryon是正确的,您缺少
    [“ProductABC-001”]
    位,这是
    “attributes”
    所在的位置。试试这个:

    jsonobject.products[0]["ProductABC-001"].attributes[0]
    

    1/2。不,它不是,
    =
    符号不是该符号的一部分。您必须删除
    jsonobject=
    位才能使其成为“纯”JSON。(您可以在此处验证任何JSON:)

    对于3,@davin tryon是正确的,您缺少
    [“ProductABC-001”]
    位,这是
    “attributes”
    所在的位置。试试这个:

    jsonobject.products[0]["ProductABC-001"].attributes[0]
    

    你是说
    jsonobject.products[0]['ProductABC-001'].attributes[0]
    ?1)不,这是一个(JavaScript)赋值语句,将对象赋值给变量。2) JavaScript是一种编程语言,JSON是一种数据格式。3) 它将抛出一个错误,而不是返回
    undefined
    。我建议您阅读。您是指
    jsonobject.products[0]['ProductABC-001']。attributes[0]
    ?1)不,这是一个(JavaScript)赋值语句,将对象赋值给变量。2) JavaScript是一种编程语言,JSON是一种数据格式。3) 它将抛出一个错误,而不是返回
    undefined
    。我建议你阅读。谢谢。你能为我这里的结构提供一个更理智的方法吗?我的直觉告诉我,我把这件事弄得比它应该做的更复杂。@giraffslacks:首先:
    {“属性”:{“颜色”:“蓝色”,“大小”:“大”}
    @giraffslacks:我在上面添加了一个更简单格式的建议。不过,我不知道你的确切需求,所以可能太简单了,但你可以自己判断。谢谢。你能为我这里的结构提供一个更理智的方法吗?我的直觉告诉我,我把这件事弄得比它应该做的更复杂。@giraffslacks:首先:
    {“属性”:{“颜色”:“蓝色”,“大小”:“大”}
    @giraffslacks:我在上面添加了一个更简单格式的建议。然而,我不知道你的确切需求,所以这可能太简单了,但你是评判者。