将自定义字符串转换为json

时间:2013-08-12 10:38:55

标签: javascript json

如何将字符串转换为JSON,

此字符串

x:100%,y:20%,radius:50%

的Json

{"x":"100%","y":"20%","radius":"50%"}

2 个答案:

答案 0 :(得分:6)

你不需要jQuery。

var s = "x:100%,y:20%,radius:50%";
var json = JSON.stringify(
    s.split(',').reduce(function(m,v) {
       var t = v.split(':');
       m[t[0]] = t[1];
       return m;
    }, {})
);

Demonstration

如果您想与IE8兼容,请添加a shim for reduce

答案 1 :(得分:1)

这不是一个好主意,但你可以这样做:

var j = 'x:100%,y:20%,radius:50%'
j = '{"' + j.replace(/:/g,'":"').replace(/,/g,'","') + '"}'
console.log(j)

{"x":"100%","y":"20%","radius":"50%"}

然后你可以使用JSON解析生成的字符串

JSON.parse(j)

Object {x: "100%", y: "20%", radius: "50%"}