JavaScript-将对象键值对转换为JSON

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&

我有一个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<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)
周围加括号。