2015-12-30 25 views
-1

我正在被存儲在以下格式jsonify串

在我的數據庫的陣列的陣列[「尺寸:中等」,「高度:10釐米」]

這是在表格中顯示有問題。

有沒有什麼辦法可以將它轉換成Javascript對象或JSON字符串?

{ 「大小」: 「介質」, 「高度」: 「10釐米」 }

PS:我知道json.stringfy,json_encode.the事情是他們已經存儲的密鑰值對一個字符串

+0

你試過JSON.parse或json_encode?請提及你的努力以及幫助我​​們。 –

+0

'{[「size」:「medium」,「height」:「10cm」]}'這不是一個有效的Javascript對象或JSON字符串。 – Xotic750

+0

東西是有人存儲它已經在[「大小:中」,「身高:10釐米」] 格式意味着鍵和價值作爲字符串 – Ace

回答

0

在Javascript中,您可以使用JSON.parse(),以便在JavaScript Object中轉換數組。

-1

在PHP中使用:json_encode(文本)

在JavaScript:JSON.parse(文本)

1

你可以嘗試這樣的事情:

注:繼代碼將創建對象的數組。我不認爲{["size:medium", "height:10cm"]}是一個有效的對象

(function() { 
 
    var styleArr = ["size:medium", "height:10cm", "font-size: 18px"]; 
 
    var resultObject = {}; 
 

 
    styleArr.forEach(function(item) { 
 
    var values = item.replace(/\"/g, '').split(':'); 
 
    resultObject[values[0]] = values[1]; 
 
    }); 
 

 
    console.log(resultObject) 
 
})()

+0

尼斯,但它會爲每個屬性創建一個新對象。 – Shanoor

+0

@ShanShan是的。我已經更新並提到它會創建一個對象數組。 '{[「size」:「medium」,「height」:「10cm」]}'因爲沒有鍵,所以不是一個有效的對象。 – Rajesh

+0

因此對於多種樣式值,您需要'{「size」:「medium」,「height」:「10cm」}或'[{「size」:「medium」},{「height」:「10cm」} ]' – Rajesh

1

您可以用數組的元素和左側部分爲重點,右側部分爲通過價值建立一個對象:分隔字符串。

array      object 
--------------------------- --------------------------- 
[      -> { 
    "size:medium",  ->  size: "medium", 
    "height:10cm"  ->  height: "10cm" 
]      -> } 

var array = ["size:medium", "height:10cm"], 
 
    object = array.reduce(function (r, a) { 
 
     var t = a.split(':'); 
 
     r[t[0]] = t[1]; 
 
     return r; 
 
    }, {}); 
 

 
document.write('<pre>' + JSON.stringify(object, 0, 4) + '</pre>');

+0

ty you for you無論如何回答它在php – Ace

+0

是的,但是你應該爲每種語言提出一個單獨的問題,而不是用多種語言標記你的單個問題。否則,有人在PHP中尋找答案可能會來到這裏,只能找到Javascript的答案,反之亦然。在所有情況下,您應該顯示您的努力以及您遇到的問題。 – Xotic750