[英]Covert array to json object
我有這樣的數組
[ 'quality',
'print-quality: 4',
'x-dimension',
'Value: 21590',
'Value: y-dimension',
'Value: 27940',
'Value: ',
'Value: media-bottom-margin',
'Value: 0',
'Value: media-left-margin',
'Value: 0',
'Value: media-right-margin',
'Value: 0',
'Value: media-top-margin',
'Value: 0',
'Value: ' ]
正在嘗試將此數組轉換為以下格式的json
{ "quality": "print-quality: 4",
"x-dimension": "21590",
"y-dimension": "27940",
"media-bottom-margin": "0",
"media-left-margin" : "0",
"media-right-margin": "0",
"media-top-margin" : "0"
}
我需要刪除所有“值”字符串,以及如何以上述格式獲取它
您不能創建像這樣的關聯數組,因為JavaScript沒有關聯數組。 但是您可以創建一個對象,這實際上是您想要的。
這是一種實現方法:
var data = [ 'quality',
'print-quality: 4',
'x-dimension',
'Value: 21590',
'Value: y-dimension',
'Value: 27940',
'Value: ',
'Value: media-bottom-margin',
'Value: 0',
'Value: media-left-margin',
'Value: 0',
'Value: media-right-margin',
'Value: 0',
'Value: media-top-margin',
'Value: 0',
'Value: ' ],
cleanData,
newData = {}; // initialize the new object
cleanData = data
.map( function(x) { return x.replace(/^Value: /, ''); }) // remove leading "Value: "
.filter( function (x) { return !x.match(/^$/); } ); // strip empty values
for (i = 0; i < cleanData.length; i += 2) { // loop over the cleaned-up array
newData[cleanData[i]] = cleanData[i + 1];
}
結果是newData
(以JSON形式表示,以提高可讀性)為:
{
"quality":"print-quality: 4",
"x-dimension":"21590",
"y-dimension":"27940",
"media-bottom-margin":"0",
"media-left-margin":"0",
"media-right-margin":"0",
"media-top-margin":"0"
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.