您的位置:首页 > Web前端 > JavaScript

js如何将字符串转换为对象

2016-12-08 17:23 253 查看
在tp项目中使用js实现分页所遇到的问题,不过这个问题也不仅仅局限于tp框架,其他地方也是均此。

接下来给大家说说我遇到的问题吧:

控制器中将查询到的数据转换为json格式后,传给模板js

console.log('{$data}'); 这里打印出来的内容和我下面在js中定义的数据格式一致

// js中定义的数据格式

var json = [

    {

        "da_id": "1",

        "da_time": "2016-06-08",

        "da_plane": "很多",

        "da_money": "421.34",

        "da_displaycount": "3343",

        "da_click": "78"

    },

    {

        "da_id": "2",

        "da_time": "2016-06-09",

        "da_plane": "很多",

        "da_money": "2347.02",

        "da_displaycount": "13402",

        "da_click": "401"

    },

    {

        "da_id": "3",

        "da_time": "2016-06-10",

        "da_plane": "很多",

        "da_money": "3007.67",

        "da_displaycount": "13938",

        "da_click": "495"

    },

    {

        "da_id": "4",

        "da_time": "2016-06-11",

        "da_plane": "很多",

        "da_money": "3010.27",

        "da_displaycount": "15930",

        "da_click": "501"

    },

    {

        "da_id": "5",

        "da_time": "2016-06-12",

        "da_plane": "很多",

        "da_money": "3029.75",

        "da_displaycount": "18715",

        "da_click": "519"

    },

    {

        "da_id": "6",

        "da_time": "2016-06-13",

        "da_plane": "很多",

        "da_money": "2179.43",

        "da_displaycount": "13871",

        "da_click": "367"

    }

]

在js中进行循环输出,当我采用自己在js中的数据格式循环输出是正常的,但是使用控制器传过来的值进行输出,是无法输出。

解决办法:

在这里我使用了js的typeof()查看两种数据格式的类型,发现控制器传过来的是string类型,而自己在js中的定义的数据格式为object数据类型。

接下来我采用了js中的eval()函数 var v = eval('{$data}'); 在将v 赋值个变量json,此时就可以了。eval()函数说明

总结:控制器传给js中的数据,会转换为string(ajax方法除外)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据转换