如何在javascript中将json格式的字符串转换为json数组

Vin*_*ent 3 javascript jquery

我使用$ .post()方法来检索json格式的字符串,如下所示:

{elementid:10},{elementid:11},{elementid:12},{elementid:14},{elementid:15}
Run Code Online (Sandbox Code Playgroud)

在$ .post()的成功回调函数中,我想循环这个json格式化字符串的值,但我无法弄清楚如何做到这一点.

  // data returns {elementid:10},{elementid:11},{elementid:12},{elementid:14}, etc.

  $.post('form.php',

        {'postvalues' : input_ids},

        function(data){

              var elements = Array();

              elements = [data];

              for(var i=0; i<elements.length; i++) {
                    var value = elements[i]['elementid'];
                    alert('value = '+value);
              }
  });
Run Code Online (Sandbox Code Playgroud)

当我这样做,而不是value = 10, value = 11, value = 12在警报框中等等,我得到value = undefined

我必须更改变量'data'的格式,以便将其解释为数组值而不是字符串?

谢谢你的帮助

use*_*716 7

如果您没有'['']'字符,则字符串无效JSON .

您可以添加它们,然后使用jQuery.parseJSON()[docs]方法解析它.

elements = jQuery.parseJSON( '[' + data + ']' );
Run Code Online (Sandbox Code Playgroud)

...但是如果从服务器发送正确的JSON数据会更好.

此外,您的JSON密钥必须用双引号括起来.

{"elementid":10},{"elementid":11},{"elementid":12},{"elementid":14},{"elementid":15}
Run Code Online (Sandbox Code Playgroud)