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方法除外)。
接下来给大家说说我遇到的问题吧:
控制器中将查询到的数据转换为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方法除外)。
相关文章推荐
- JSON(1):如何将符合json语法的字符串转换为一个JS对象
- 如何利用fastjson将JSON格式的字符串转换为Map,再返回至前端成为js对象
- JS中字符串转换为日期对象的方法JS中如何计算时间,如何比较时间
- javascript中如何正确将日期(Date)字符串,转换为日期(Date)对象?
- Js 把数组和自定义对象转换成字符串
- js 将json字符串转换为json对象
- js如何将对象属性key-value变成字符串输出
- js中字符串转换为对象
- ajax循环返回多个值如何转换为json对象在js里能取到值
- js时间加减与时间对象与字符串之间的转换
- 如何将对象转换成json格式,如何将json格式数据转换成js对象
- js字符串转换为对象
- Json字符串转换为JS对象方法
- JSON格式字符串如何转换成对象
- js json字符串转换为json对象之引申问题
- js 将json字符串转换为json对象
- js中如何将字符串转换成json类型
- 服务器端返回的JSON字符串 怎样在 JS中转换成可访问的 JSON对象
- JavaScript中如何将一个字符串,转换成一个对象类型
- 转换js对象为json字符串的例子