Rob*_*ert 8 javascript asp.net serialization json c#-4.0
说我有以下数据集.
???????????????????????????????????????
? Category ? Item ? Color ?
???????????????????????????????????????
? Electronics ? Mobile ? Black ?
? Electronics ? Mobile ? Green ?
? Electronics ? Laptop ? Black ?
? HomeNeeds ? VaccumCleaner ? white ?
? HomeNeeds ? Refrigerator ? Red ?
? Wearable ? AppleWatch ? Red ?
???????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)
我想将其转换为SOMETHING,如下面的JSON格式,以便我可以加载到树视图控件.最好的方法是什么?主要区别在于合并相同类别或项目!我可以在C#中解析节点到节点,用前一个节点检查它,如果相同则合并它!并手动创建它,但有没有其他替代方案而不是这个漫长而复杂的过程?
{
"Categories" : [
{"Electronics" : [
{"Mobile" : [
{"color":"Black"},
{"color":"Green"}
]},
{"Laptop":[
{"color":"Black"}
]}
]},
{"HomeNeeds":[
{"VaccumCleaner": [
{"color":"white"}
]},
{"Refrigerator":[
{"color": "Red"}
]}
]},
{"Wearable":[
{"Applewatch":[
{"color":"Red"}
]}
]}
]
}
Run Code Online (Sandbox Code Playgroud)
使用数组。
var products = new Array(); // using new Array() to avoid mess
products =
[
[ // Home Needs
[
"Refrigerator",
"red",
"$500",
],
[
"VacuumCleaner",
"white",
"$50",
]
],
[ // Wearable
[
"Applewatch",
"Red",
"$14, 000",
],
],
]
Run Code Online (Sandbox Code Playgroud)
这是一个关于如何使用它的示例。
function getInfoOn(category,nameofappliance) { // 0 for category is home needs, etc
for (var i=0; i < products[category].length; i++) {
for(var l=0; l < products[i].length; l++) {
for (var b=0; b < i[category][l].length; b++) {
console.log('Name: '+ i[category][l][0]);
console.log('Price: '+i[category][l][2]);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,上述代码仅作为示例。它应该可以正常工作,但我在编写时可能犯了一个错误。这只是为了表明我的观点。
| 归档时间: |
|
| 查看次数: |
1052 次 |
| 最近记录: |