gpt4 book ai didi

javascript - 嵌套 JSON 对象

转载 作者:行者123 更新时间:2023-11-28 16:13:55 24 4
gpt4 key购买 nike

我对这个 JSON 对象非常陌生。所以我需要你们的帮助。我必须创建一个 JSON 对象,并且该对象有两个子对象。一个 child 有几个 child 。如果我的问题令人困惑,请引用下图。它类似于嵌套列表。例子:

产品列表

<ul>
<li>CATEGORY_ID - A</li>
<li>PRODUCT_DETAILS
<ul>
<li>PRODUCT_ID - A.1</li>
<li>PRODUCT_NAME - AAAA1111</li>
<li>UNIT_COST - 0.1</li>
</ul>
</li>
<li>CATEGORY_ID - B</li>
<li>PRODUCT_DETAILS
<ul>
<li>PRODUCT_ID - B.1</li>
<li>PRODUCT_NAME - BBBBB1111</li>
<li>UNIT_COST - 0.2</li>
</ul>
</li>
</ul>

我尝试这样做,但遇到了 JavaScript 错误。任何人都可以帮助为上述图表创建 JSON。注意:一个类别有多个产品详细信息。这意味着特定 CATEGORY_ID 的 PRODUCT_ID、PRODUCT_NAME 和 UNIT_COST 将重复多次。

我尝试过的 JavaScript 代码

var product =   '{"products_list":' +
'[' +
'{' +
'{"category_id":"A"},' +
'{"product_details":' +
'[' +
'{"product_id":"A.1","product_name":"AAAA1111", "unit_cost":"A1"},' +
'{"product_id":"A.2","product_name":"AAAA2222", "unit_cost":"A2"},' +
'{"product_id":"A.3","product_name":"AAAA3333", "unit_cost":"A3"},' +
'{"product_id":"A.4","product_name":"AAAA4444", "unit_cost":"A4"},' +
'{"product_id":"A.5","product_name":"AAAA5555", "unit_cost":"A5"},' +
'{"product_id":"A.6","product_name":"AAAA6666", "unit_cost":"A6"},' +
'{"product_id":"A.7","product_name":"AAAA7777", "unit_cost":"A7"},' +
'{"product_id":"A.8","product_name":"AAAA8888", "unit_cost":"A8"},' +
'{"product_id":"A.9","product_name":"AAAA9999", "unit_cost":"A9"},' +
'{"product_id":"A.0","product_name":"AAAA0000", "unit_cost":"A0"}' +
']' +
'}' +
'},' +
'{' +
'{"category_id":"A"},' +
'{"product_details":' +
'[' +
'{"product_id":"A.1","product_name":"AAAA1111", "unit_cost":"A1"},' +
'{"product_id":"A.2","product_name":"AAAA2222", "unit_cost":"A2"},' +
'{"product_id":"A.3","product_name":"AAAA3333", "unit_cost":"A3"},' +
'{"product_id":"A.4","product_name":"AAAA4444", "unit_cost":"A4"},' +
'{"product_id":"A.5","product_name":"AAAA5555", "unit_cost":"A5"},' +
'{"product_id":"A.6","product_name":"AAAA6666", "unit_cost":"A6"},' +
'{"product_id":"A.7","product_name":"AAAA7777", "unit_cost":"A7"},' +
'{"product_id":"A.8","product_name":"AAAA8888", "unit_cost":"A8"},' +
'{"product_id":"A.9","product_name":"AAAA9999", "unit_cost":"A9"},' +
'{"product_id":"A.0","product_name":"AAAA0000", "unit_cost":"A0"}' +
']' +
'}' +
'}' +
']' +
'}';

最佳答案

使用 HTML 树,您将获得 PRODUCT_LIST 的以下 JSON 表示形式:

[
{
"CATEGORY_ID":"A",
"PRODUCT_DETAILS":[
{
"PRODUCT_ID":"A.1",
"PRODUCT_NAME":"AAAA1111",
"UNIT_COST":0.1
}
]
},
{
"CATEGORY_ID":"B",
"PRODUCT_DETAILS":[
{
"PRODUCT_ID":"B.1",
"PRODUCT_NAME":"BBBBB1111",
"UNIT_COST":0.2
}
]
}
]
<小时/>

但是,您的 JavaScript 会生成一个几乎有效的 JSON 字符串,该字符串被分配给 product 变量。您可以使用 JSON.parse()就可以了,但是太复杂了。作为JavaScriptObjectNotation是 Javascript 的子集 object literal syntax ,您应该直接分配对象。

在 JSON 中,类别对象周围有太多大括号。您可以检查一下,例如与 http://jsonformatter.curiousconcept.com/ 。更正的脚本:

var product = {
"products_list":[
{
"category_id":"A",
"product_details":[
{
"product_id":"A.1",
"product_name":"AAAA1111",
"unit_cost":"A1"
},
{
"product_id":"A.2",
"product_name":"AAAA2222",
"unit_cost":"A2"
},
{
"product_id":"A.3",
"product_name":"AAAA3333",
"unit_cost":"A3"
},
{
"product_id":"A.4",
"product_name":"AAAA4444",
"unit_cost":"A4"
},
{
"product_id":"A.5",
"product_name":"AAAA5555",
"unit_cost":"A5"
},
{
"product_id":"A.6",
"product_name":"AAAA6666",
"unit_cost":"A6"
},
{
"product_id":"A.7",
"product_name":"AAAA7777",
"unit_cost":"A7"
},
{
"product_id":"A.8",
"product_name":"AAAA8888",
"unit_cost":"A8"
},
{
"product_id":"A.9",
"product_name":"AAAA9999",
"unit_cost":"A9"
},
{
"product_id":"A.0",
"product_name":"AAAA0000",
"unit_cost":"A0"
}
]
},
{
"category_id":"A",
"product_details":[
{
"product_id":"A.1",
"product_name":"AAAA1111",
"unit_cost":"A1"
},
{
"product_id":"A.2",
"product_name":"AAAA2222",
"unit_cost":"A2"
},
{
"product_id":"A.3",
"product_name":"AAAA3333",
"unit_cost":"A3"
},
{
"product_id":"A.4",
"product_name":"AAAA4444",
"unit_cost":"A4"
},
{
"product_id":"A.5",
"product_name":"AAAA5555",
"unit_cost":"A5"
},
{
"product_id":"A.6",
"product_name":"AAAA6666",
"unit_cost":"A6"
},
{
"product_id":"A.7",
"product_name":"AAAA7777",
"unit_cost":"A7"
},
{
"product_id":"A.8",
"product_name":"AAAA8888",
"unit_cost":"A8"
},
{
"product_id":"A.9",
"product_name":"AAAA9999",
"unit_cost":"A9"
},
{
"product_id":"A.0",
"product_name":"AAAA0000",
"unit_cost":"A0"
}
]
}
]
}

关于javascript - 嵌套 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12071166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com