JavaScript-将对象键值对转换为JSON
我有一个javascript对象,有6个键值对:JavaScript-将对象键值对转换为JSON,javascript,Javascript,我有一个javascript对象,有6个键值对: My_Type_1:"Vegetable" My_Type_2:"Fruit" My_Type_3:"Dessert" My_Value_1: "Carrot" My_Value_2: "Apple" My_Value_3: "Cake" 我想用上述对象构造JSON,以便它生成以下内容: [{"Vegetable":"Carrot"},{"Fruit":"Apple"},{"Dessert":"Cake"}] 编辑: for (j=0;j&
My_Type_1:"Vegetable"
My_Type_2:"Fruit"
My_Type_3:"Dessert"
My_Value_1: "Carrot"
My_Value_2: "Apple"
My_Value_3: "Cake"
我想用上述对象构造JSON,以便它生成以下内容:
[{"Vegetable":"Carrot"},{"Fruit":"Apple"},{"Dessert":"Cake"}]
编辑:
for (j=0;j<3;j++)
{
var tvArray = new Array();
var sType = 'My_Type_'+j+1;
var sValue = 'My_Value_'+j+1;
tvArray['Type'] = JSObject[sType];
tvArray['Value'] = JSObject[sValue];
}
对于(j=0;j您需要在j+1
周围加上括号。您现在拥有的内容将为您提供'My\u Type\u 01'
等等
var obj = {
My_Type_1:"Vegetable",
My_Type_2:"Fruit",
My_Type_3:"Dessert",
My_Value_1: "Carrot",
My_Value_2: "Apple",
My_Value_3: "Cake"
};
var pairs = [], pair;
for(var j = 0; j < 3; j++) {
pair = {};
pairs.push(pair);
pair[obj['My_Type_' + (j+1)]] = obj['My_Value_' + (j+1)];
}
console.log(JSON.stringify(pairs));
var obj={
我的_类型_1:“蔬菜”,
我的类型2:“水果”,
我的甜点类型3:“甜点”,
我的价值1:“胡萝卜”,
我的价值2:“苹果”,
我的价值3:“蛋糕”
};
变量对=[],对;
对于(var j=0;j<3;j++){
配对={};
推(对);
配对[obj['My_类型_'+(j+1)]]=obj['My_值_'+(j+1)];
}
log(JSON.stringify(pairs));
“但它不起作用”请告诉我们更多。抱歉..我认为我的逻辑是错误的..所以我删除了它..这个问题已经在这里得到了回答:但这并不能使问题变得更好。答案是迭代对象,创建新对象并将它们推到数组上。我假设你知道如何做所有这些事情?请把你的代码放回原处。你有一个n错误。需要在(j+1)
周围加括号。