以下是json结构:
jsonResponse
Folder 01
Product 01 - Folder 01
Product 02 - Folder 01
Product 03 - Folder 01
Folder 02
Product 01 - Folder 02
Product 02 - Folder 02
Product 03 - Folder 02
Folder 03
Product 01 - Folder 03
Product 02 - Folder 03
Product 03 - Folder 03
Folder 04
Product 01 - Folder 04
Product 02 - Folder 04
Product 03 - Folder 04
我的要求是将文件夹名称和产品存储在各自的文件夹中。我能够将文件夹名称存储在一个数组中,但需要将产品存储在相应的文件夹中,这是我无法完成的。我使用jquery1.8来读取json响应,然后使用每个函数创建文件夹数组。
对此表示高度赞赏。
提前致谢
答案 0 :(得分:2)
我会创建一个文件夹对象数组,其中每个对象都包含一个产品对象数组。这样可以灵活地保存您合理需要发送的有关文件夹和产品的任何其他数据,例如产品的价格。
结构示例:
var folders = [
{
name: 'Folder 01',
products [
{ name : 'Product 01' },
{ name : 'Product 02' },
{ name : 'Product 03' }
]
},
{
name: 'Folder 02',
products [
{ name : 'Product 01' },
{ name : 'Product 02' }
]
}
];
从数据构建数组的示例:
var folders = [];
// data that you would get from looping the JSON data:
var folderName = 'Folder 01'
var products = ['Product 01', 'Product 02'];
var prod = [];
for (var i = 0; i < products.length; i++) {
prod.push({ name: products[i] });
}
var folder = { name: folderName, products: prod };
folders.push(folder);