2015-12-30 48 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