2

如何将字符串转换为 JSON,

这个字符串到

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

json

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

2 回答 2

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;
    }, {})
);

示范

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

于 2013-08-12T10:41:06.297 回答
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%"}
于 2013-08-12T10:48:05.013 回答