2015-12-30 2 views
-1

У меня есть массив в моей базе данных, которые хранятся в следующем форматеjsonify массив строк

[ «размер: средний», «высота: 10 см»]

это проблематично отображать в таблице.

Есть ли способ преобразовать это в объект Javascript или строку JSON, как это?

{ "размер": "средний", "высота": "10см" }

пс: я знаю json.stringfy, json_encode.the вещь они сохранили ключевое значение пары, как одна строка

+0

вы пробовали JSON.parse или json_encode? Пожалуйста, укажите ваши усилия, чтобы помочь нам. –

+0

'{[" size ":" medium "," height ":" 10cm "]}' это не действительный объект Javascript или строка JSON. – Xotic750

+0

вещь, которая хранится у нее уже в ["size: medium", "height: 10cm"] Формат означает как ключ, так и значение как на строке – Ace

ответ

0

В Javascript вы можете использовать JSON.parse(), чтобы преобразовать ваш массив в объект Javascript.

-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

Nice, но он создает новый объект для каждого свойства. – 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

Ты, для тебя, ответишь там, все равно, чтобы сделать это в php – Ace

+0

Да, но вы должны задать отдельный вопрос для каждого языка, а не пометить свой единственный вопрос несколькими языками. В противном случае кто-то, кто ищет ответ на PHP, может приехать сюда и найти ответы на Javascript или наоборот.Во всех случаях вы должны показать свои усилия вместе с проблемой, которую вы испытываете. – Xotic750

Смежные вопросы