Javascript 如何将字符串作为键值对循环

Javascript 如何将字符串作为键值对循环,javascript,arrays,string,loops,for-loop,Javascript,Arrays,String,Loops,For Loop,我想将字符串作为键/值对循环。数据以字符串的形式提供给我(我正在使用jstorage插件) 我尝试将字符串拆分为数组,但它没有返回正确的键/值 范例 "color":"#000000", "font":"12px", "background":"#ffffff", 如果您总是得到这样的字符串,即双引号中的键和值,则可以向字符串中添加{…},并: 如果不是,则拆分字符串也很容易,假设、和:不能出现在键或值中: var obj = {}, parts = str.replace(/^\s

我想将字符串作为键/值对循环。数据以字符串的形式提供给我(我正在使用jstorage插件)

我尝试将字符串拆分为数组,但它没有返回正确的键/值

范例

 "color":"#000000", "font":"12px", "background":"#ffffff",

如果您总是得到这样的字符串,即双引号中的键和值,则可以向字符串中添加
{…}
,并:

如果不是,则拆分字符串也很容易,假设
不能出现在键或值中:

var obj = {},
    parts = str.replace(/^\s+|,\s*$/g, '').split(',');

for(var i = 0, len = parts.length; i < len; i++) {
    var match = parts[i].match(/^\s*"?([^":]*)"?\s*:\s*"?([^"]*)\s*$/);
    obj[match[1]] = match[2];
}
var obj={},
parts=str.replace(/^\s+|,\s*$/g')。split(',');
对于(变量i=0,len=parts.length;i
您需要将其评估为JavaScript对象。如果您信任源,或者可以验证内容,则可以执行以下操作:

s = document.createElement('script')
s.type='text/javascript';
s.innerHTML = 'var data = {'+ text + '}';
document.getElementsByTagName('head')[0].appendChild(s);

可能重复的,因此您有一个字符串,如
““color”:“#000000”,“font”:“12px”,“background”:“#ffffff”,“
”?jStorage允许您将任意对象存储为值,因此您不应该从这个位置开始。您应该将语句“数据作为字符串提供给我”改为“将数据作为字符串提供给我”“,然后解决任何问题!请显示您已经尝试过的代码。有关解决方案,请参阅下文。:)谢谢,这正是我整晚想要的。
s = document.createElement('script')
s.type='text/javascript';
s.innerHTML = 'var data = {'+ text + '}';
document.getElementsByTagName('head')[0].appendChild(s);