Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将自定义字符串转换为json_Javascript_Json - Fatal编程技术网

Javascript 将自定义字符串转换为json

Javascript 将自定义字符串转换为json,javascript,json,Javascript,Json,如何将字符串转换为JSON 将此字符串设置为 x:100%,y:20%,radius:50% Json {"x":"100%","y":"20%","radius":"50%"} 您不需要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

如何将字符串转换为JSON

将此字符串设置为

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

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

您不需要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兼容,请添加。

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

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%"}

@user007,因为您应该始终让可用库为您进行编码,除非您完全了解JSON格式和您提供的值。例如,引号可能需要转义。@user007,因为如果您的值包含逗号和冒号,它将替换逗号和冒号。可能是出了什么事wrong@dystroy,使用JSON对象仅用于解释和测试。它不是跨浏览器是的,JSON对象不是跨浏览器的,在较旧的internet Explorer中它缺少。所谓较旧的,你指的是IE7。甚至IE8也有。