我有這個JSON.stringify(數組)結果:[「id:1x,price:150」,「id:2x,price:200」],我必須將其轉換爲一個類似的JSON格式(它會被髮送到PHP): [{ 「ID」: 「1×」, 「價格」:150 }, { 「ID」: 「2×」, 「價格「:200 }]將javascript數組轉換爲特定的json格式
請幫忙。
我有這個JSON.stringify(數組)結果:[「id:1x,price:150」,「id:2x,price:200」],我必須將其轉換爲一個類似的JSON格式(它會被髮送到PHP): [{ 「ID」: 「1×」, 「價格」:150 }, { 「ID」: 「2×」, 「價格「:200 }]將javascript數組轉換爲特定的json格式
請幫忙。
您可以將數據結構轉換爲使用JSON.stringify
之前,比如你可以將數據轉換成像這樣的對象的列表:
var strItems = ["id:1x,price:150", "id:2x,price:200"];
var objItems = [];
for (var i = 0; i < strItems.length; i++) {
var pairs = strItems[i].split(",");
objItems.push({
id: pairs[0].split(':')[1],
price: parseInt(pairs[1].split(':')[1])
});
}
在致電JSON.stringify
得到的結果你後:
var json = JSON.stringify(objItems);
console.log(json);
JSON.stringify(陣列)只做上一層,但你可以改變的字符串化功能,爲使用此功能通過JVE999書面多層上工作this post:
(function(){
// Convert array to object
var convArrToObj = function(array){
var thisEleObj = new Object();
if(typeof array == "object"){
for(var i in array){
var thisEle = convArrToObj(array[i]);
thisEleObj[i] = thisEle;
}
}else {
thisEleObj = array;
}
return thisEleObj;
};
var oldJSONStringify = JSON.stringify;
JSON.stringify = function(input){
if(oldJSONStringify(input) == '[]')
return oldJSONStringify(convArrToObj(input));
else
return oldJSONStringify(input);
};
})();
一旦聲明這一點,那麼你可以調用JSON.stringify(陣列)
完美,非常感謝.. – Iram