现在有如下格式的数据
var test = [
  ['test1':'test2'],
  ['test3':'test4']
];
想把下面的数据
var v = '{'v1':'v2','v3':'v4'}'
转换成test的格式,请帮忙提供具体实现,谢谢。

解决方案 »

  1.   

    不过你引号写混乱了,
    改为 var v= "{'v1':'v2','v3':'v4'}";
      

  2.   

    额 ,还有个问题,最外层为{}时用eval会解析出错
    var v= "({'v1':'v2','v3':'v4'})";
    这样才行 
      

  3.   

    这个是笔误,eval('('+data+')')好像不行
      

  4.   

    我上面写的肯定是行,你这个就要问data里面的内容了,里面还有单引号的话当然也必定出问题
    自己alert一下,看看'('+data+')'都成了什么东西再说吧
      

  5.   


    源代码
    <script>
    var test = [
       ["test1':'test2"],
       ["test3':'test4"]
    ];
    var t1 = "{\"test1\":\"test2\",\"test3\":\"test4\"}"
    var t2 = eval('('+t1+')');
    var ttt;
    alert('test');
    </script>
    t1,t2,test的数据结构都不一致
      

  6.   

    目测eval是可以执行成功的,至于你说的结构不一致,本来就该不一致嘛,test是数组的写法,
    t1字符串是对象的写法,而且目测test写法有问题
    你这点代码让人看得一头雾水,完全不知道要做什么或者测试什么,你去搜一搜json的数据格式先
    我给你简单说一下:
    var obj={'a':'a','b':'b'};//这个产生一个对象
    var arr=['a','b'];//这个产生一个数组
    两种方式嵌套就可以生成任意形式的对象了
      

  7.   

    var test = [
      ['test1':'test2'],
      ['test3':'test4']
    ];你这个json格式是错的,先理清楚要什么结构,而且是要字符串还是json对象。。,生成json对象用eval可以的
      

  8.   

    wzs_xyz给你两点建议:
    1、不要随便目测
    2、先看清楚问题
      

  9.   

    var test = [
      ['test1':'test2'],
      ['test3':'test4']
    ];你这个json格式是错的,先理清楚要什么结构,而且是要字符串还是json对象。。,生成json对象用eval可以的
      

  10.   

    test的格式没问题好吧,ext里面就是这么写的,你运行下我在6楼写的代码看看
      

  11.   

    test的格式没问题好吧,ext里面就是这么写的,你运行下我在6楼写的代码看看
      

  12.   

    var test = [
      ['test1':'test2'],
      ['test3':'test4']
    ];
    ==============
    var test = [
       ["test1':'test2"],
       ["test3':'test4"]
    ];这个2个结构不一样到底是参考哪个结构?var test = [
      ['test1':'test2'],
      ['test3':'test4']
    ];
    这个是错的,应该是
    var test = [
      {'test1':'test2'},
      {'test3':'test4'}
    ];
      

  13.   

    你的建议我会考虑,我的建议 先去看一下json的数据格式,你又去看了么?说了你的test写法是错误的,还怎么转换成那种格式?麻烦有一定js基础再说,不然给你回答了,你觉得是文不对题
      

  14.   


    你的态度就让人很不想帮忙了,说尖锐点,我有什么义务要认认真真仔仔细细去揣摩你问问题的目的?我又没拿你的工资,你不是我老板,也不是我同事!
    ps+bs:你连ext里面参数的写法是什么东西都不清楚,还说什么ext是这样写的,你也可以?
      

  15.   


    var test = [
       ["test1":"test2"],
       ["test3":"test4"]
     ];
    这个结构真心不是错的,我维护的代码里就有这种很鸡巴的数据
      

  16.   

    我是不清楚ext,js技术也不咋地,所来才来寻求帮助,不知道你现在是个什么心态,你试了我在6楼的代码没有?
      

  17.   

    firefox
    <script>
    var test = [
       ["test1':'test2"],
       ["test3':'test4"]
    ];
    var t1 = "{\"test1\":\"test2\",\"test3\":\"test4\"}"
    var t2 = eval('('+t1+')');
    var ttt;
    alert('test');
    </script>
    这段代码ie7-ie9,firefox,chrome都调试了,没报错
      

  18.   


    var test = [
       ["test1':'test2"],
       ["test3':'test4"]
    ];这个数据没错,一个二维数组,第一维的每个数组都有一个字符串元素,分别是
    test1':'test2 和 test3':'test4
    如果按这个格式,你希望怎么解析?或者解析规则如何。var test = [
       ['test1':'test2'],
       ['test3':'test4']
    ];
    //或者
    var test = [
       ["test1":"test2"],
       ["test3":"test4"]
    ];这个数据是错误的,直接不能运行。注意引号对