1. 程式人生 > >js如何將字串轉換為物件

js如何將字串轉換為物件

在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方法除外)。