Javascript 从json创建数组
我在下面收到这个JSONJavascript 从json创建数组,javascript,arrays,json,Javascript,Arrays,Json,我在下面收到这个JSON { "category": "test", "sealing_temp_1": "", "sealing_temp_2": "", "sealing_temp_3": "", "level_sensor_1": "", "level_sensor_2": "", "level_sensor_3": "", "check_pack_1": "", "check_pack_2": "", "ch
{
"category": "test",
"sealing_temp_1": "",
"sealing_temp_2": "",
"sealing_temp_3": "",
"level_sensor_1": "",
"level_sensor_2": "",
"level_sensor_3": "",
"check_pack_1": "",
"check_pack_2": "",
"check_pack_3": "",
"comment": ""
}
我想把它转换成这个结构,保存
{
"category": "test",
"sealing_temp": "['a', 'b', 'c']",
"level_sensor": "['x', 'y', 'z']",
"check_pack": "[1, 2, 3]",
"comment": ""
}
有人能给我指点一下吗,我试着在中为..使用
,但在这个过程中迷失了方向你可以拆分密钥,如果它的末尾有数字,那么就用它来填充数组
此建议更改对象并删除不需要的属性,这些属性的值现在位于收集的数组中
var object={category:“test”,sealing_temp_1:“s1”,sealing_temp_2:“s2”,sealing_temp_3:“s3”,level_sensor_1:“l2”,level_sensor_3:“l3”,check_pack_1:“c1”,check_pack__2:“c2”,check_pack__3:“c3”,comment:“cc”};
Object.keys(对象).forEach(函数(k){
var parts=k.split(/(?=\d+$)/);
如果(parts.length==2){
对象[部分[0]]=对象[部分[0]]| |[];
对象[parts[0]][parts[1]-1]=对象[k];//从零开始的数组减去一
删除对象[k];
}
});
console.log(对象)代码>
.as控制台包装{max height:100%!important;top:0;}
添加您的code@NinaScholz-两个代码块中都没有不完全有效的JSON。我建议使用Object.keys
maybe?@NinaScholz JSONLint告诉我这是一个有效的JSON,我不确定如何将对象区分为jsonfor..in
应该可以正常工作,但如果您不向我们展示您的路由工具,我们无法帮助您避免“丢失”。您需要提供一个感谢,代码会按预期执行。您能告诉我删除对象[k]的作用吗?它删除具有给定引用的属性,例如object['sealing\u temp\u 1']
。该值以前被移动到数组中,delete
语句上方的两行。它在小提琴上运行良好,但我在工作流配置“对象不支持此属性或方法”中遇到此错误,对象有其他选择吗?详细错误是什么?哪种方法不起作用?让我们来看看。